Tkinter学习
from tkinter import *
window = Tk() # 创建一个窗口
window.mainloop() # 消息循环,显示窗口
window.title("窗口标题") # 窗口标题
window.geometry("380x420+500+240") #窗口的大小和位置,注意:是x不是*,单位是像素,以桌面左上角为原点坐标
window['width']=80; window['height']=80 设置窗口的大小,单位是像素,没原点坐标
root.attributes("-transparentcolor", "white") # 把白色变成透明颜色
root["background"] = "white" # 窗口背景色设置为白色
root.overrideredirect(True) # 这一行可以隐藏掉窗口边框和标题栏
window.resizable(width=False,height=Ture) # 设置窗口是否可以变化长 宽,宽可变,高不可变,默认为Ture
label.grid(row = 0,column = 0,sticky = E) # 显示和定位 网格式布局 columnspan=2跨越的列数 # S上 E右 W左 N下
label.pack(side=LEFT) # 这里的side可以赋值为LEFT、RTGHT、TOP、BOTTOM
btn.grid(#######) # 按钮布局
window.protocol("WM_DELETE_WINDOW",closeWindow) # protocol 用户关闭窗口触发的是事件,closeWindow是用户自己定义的函数
def closeWindow():
messagebox.showinfo(title="警告",message="不需关闭好好回答!")
# messagebox.showerror(title="警告", message="不需关闭好好回答!")
return
def closeWindow():
window2 = Toplevel(window) # 创建顶级窗口,
photo = PhotoImage(file = "./cc.gif") # 加载这张图片,显示图片不会把窗口撑大,但只能显示局部图片,所以只能把图片的水平和垂直像素变小
window.destroy() # 关闭window窗口
import tkinter root = tkinter.Tk() root.overrideredirect(True) # 这一行可以隐藏掉窗口边框和标题栏
root["width"] = 200
root["height"] = 80
root.attributes("-transparentcolor", "white") # 把白色变成透明颜色
root["background"] = "white" # 窗口背景色设置为白色 x, y = 0, 0 def startmove(event):
global x, y
x = event.x
y = event.y def stopmove(event):
x = None
y = None def onmotion(event):
global x, y
deltax = event.x - x
deltay = event.y - y
_x = root.winfo_x() + deltax
_y = root.winfo_y() + deltay
root.geometry("+%s+%s" % (_x, _y)) # 窗口的位置 label = tkinter.Label(root, text="哈哈哈,模拟时钟",font=("仿宋",15), bg="white",fg='WhiteSmoke')
label.place(x=10, y=10, anchor=tkinter.NW) root.bind("<ButtonPress-1>", startmove)
root.bind("<ButtonRelease-1>", stopmove)
root.bind("<B1-Motion>", onmotion) root.mainloop()
透明文本
控件
Label、Frame、Entry、Text、Button、Listbox、Scrollbar
注意:每个控件最后要加上pack(),否则无法显示
1、Label
label = Label(window,text = "hey,小姐姐",font = ("宋体",15),fg = 'red',bg="white",width=5,height=2)
# 创建标签控件,第一个参数传window,字体,text控件内容,fg字体颜色,bg是背景颜色,字体在C:\Windows\Fonts目录下,width、height控件的宽高
2、Frame
在屏幕上创建一块矩形区域,多作为容器来布局窗体
from tkinter import *
root = Tk()
root.title("hello world")
root.geometry('300x200') Label(root, text='校训', font=('Arial', 20)).pack() frm = Frame(root)
frm_L = Frame(frm) # left
Label(frm_L, text='厚德', font=('Arial', 15)).pack(side=TOP)
Label(frm_L, text='博学', font=('Arial', 15)).pack(side=TOP)
frm_L.pack(side=LEFT) frm_R = Frame(frm) # right
Label(frm_R, text='敬业', font=('Arial', 15)).pack(side=TOP)
Label(frm_R, text='乐群', font=('Arial', 15)).pack(side=TOP)
frm_R.pack(side=RIGHT) frm.pack() #显示控件
root.mainloop() # 进入循环,显示窗口
frm = Frame(root)
3、Entry
创建单行文本框
from tkinter import * root = Tk()
root.title("hello world")
root.geometry() # 窗口大小位置
var = StringVar() # 绑定变量
e = Entry(root, textvariable=var)
var.set("hello") # 设置文本框中的值
e.pack()
a = var.get() # 获取文本框中的值 root.mainloop()
e = Entry(root, textvariable=var)
4、Text 文本输入控件
向该空间内输入文本
t = Text(window) # 创建文本框实例
t.insert(mark, 内容)
# mark可以填行号、特殊字符、INSERT光标插入点、CURRENT鼠标当前所对应的位置、END文本控件的最后一个字符、SEL_FIRST选中文本域的第一个字符,如果没有选中区域则会引发异常、SEL_LAST选中文本域的最后一个字符,如果没有选中区域则会引发异常
t.insert(1.0, 'hello\n') # 插入内容
t.insert(END, 'hero\n')
t.pack()
5、Button 按钮控件
btn = Button(window,text = "喜欢",width = 15,height = 2,command = Love)
# 按钮控件,第一个参数传入window,width、height按钮的宽和高,command是点击按钮触发的命令
root.bind("<ButtonPress-1>", startmove) # 按下鼠标做什么事情
root.bind("<ButtonRelease-1>", stopmove) # 松开鼠标做什么事情
root.bind("<B1-Motion>", onmotion) # 按住鼠标做什么事情
6、Listbox 列表控件
# selectmode可以为BROWSE MULTIPL SINGLE
from tkinter import * root = Tk()
root.title("hello world")
root.geometry() def print_item(event):
print(lb.get(lb.curselection())) var = StringVar() # 绑定变量
lb = Listbox(root, listvariable=var) # 创建列表
list_item = [1, 2, 3, 4] # 控件的内容为1 2 3 4
for item in list_item:
lb.insert(END, item) # 添加
lb.delete(2, 4) # 删除,此时控件的内容为1 3 var.set(('a', 'ab', 'c', 'd')) # 设置列表所有值
print(var.get()) # 得到列表所有值
lb.bind('<ButtonRelease-1>', print_item) # 释放鼠标触发事件
lb.pack() root.mainloop()
7、Scrollbar
在屏幕上创建一个矩形区域
from Tkinter import *
root = Tk()
root.title("hello world")
root.geometry() def print_item(event):
print lb.get(lb.curselection()) var = StringVar()
lb = Listbox(root, height=5, selectmode=BROWSE, listvariable = var)
lb.bind('<ButtonRelease-1>', print_item)
list_item = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
for item in list_item:
lb.insert(END, item) scrl = Scrollbar(root)
scrl.pack(side=RIGHT, fill=Y)
lb.configure(yscrollcommand = scrl.set)
lb.pack(side=LEFT, fill=BOTH)
scrl['command'] = lb.yview root.mainloop()
Tkinter学习的更多相关文章
- Python Tkinter 学习成果:点歌软件music
笔者工作业余时间也没什么爱好,社交圈子也小,主要娱乐就是背着自己带电瓶的卖唱音响到住地附近找个人多的位置唱唱KtV. 硬件上点歌就用笔记本电脑,歌曲都是网上下载的mkv格式的含有两个音轨的视频.因此点 ...
- tkinter学习-Lable&Button
tkinter学习-La&Bu 我的第一个Tkinter程序 Label组件的使用 Button组件的使用 1.我的第一个Tkinter程序 常用的属性: title:设置窗口的标题 geom ...
- Python:GUI之tkinter学习笔记1控件的介绍及使用
相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Mes ...
- tkinter学习系列之(八) Canvas控件
目录 目录 前言 (一)carves创建方法 (二)carves的画图方法 目录 前言 由于最近想在tkinter里内嵌matplotlib,由于用到tkinter里的carves控件,先学习一下. ...
- python之GUI编程-tkinter学习
推荐几个学习网址:https://www.cnblogs.com/shwee/p/9427975.html https://cloud.tencent.com/developer/section/13 ...
- python之tkinter学习目录
前言 下面的目录结构,采用的学习视频资料是网易云课堂中[莫凡]老师的,在目录的最下面的地方给出了对应的链接! 学习是逐渐积累起来的,代码也是!下面的每一篇中的对应代码,都秉承着这样的一个理念:代码是成 ...
- tkinter学习(5)messagebox、pack、grid和place方法
1.messagebox信息弹出框 1.1 代码: import tkinter as tk #导出tk模块 import tkinter.messagebox #导出弹出信息框 #定义窗口.标题.大 ...
- tkinter学习(4)frame、pack、canvas学习
1.frame和pack学习 1.1 代码: import tkinter as tk window = tk.Tk() window.title('my window') window.geomet ...
- tkinter学习(3)scale尺度条和menu菜单
1.scale学习(尺度条)1.1 代码: #第1步:导出模块 import tkinter as tk #第2步:定义窗口,及其标题.大小和位置 win = tk.Tk() win.title('s ...
- tkinter学习(1)
1.hit_me的一个简单tk窗口学习1.1 代码: import tkinter as tk win = tk.Tk() win.title('my first window') #定义标题,如果未 ...
随机推荐
- 20165202 2017-2018-2 《Java程序设计》第1周学习总结
20165202 2017-2018-2 <Java程序设计>第1周学习总结 教材学习内容总结 Ubuntu环境下安装JDK 简单Java程序编写 反编译器javap.exe Git安装及 ...
- PostgreSQL数据库资料(转)
PostgreSQL数据库资料 转自:http://blog.csdn.net/postgrechina/article/details/49132791 推荐书籍: 概念书籍: <Postgr ...
- SQL SERVER - set statistics time on的理解
一.set statistics time on的作用 显示分析.编译和执行各语句所需的毫秒数. 二.语法 SET STATISTICS TIME { ON | OFF } 注释 1.当 SET ST ...
- c# 一个记录日志的通用方法
public static string WriteFile(string strText, string path) { Encoding code = Encoding.GetEncoding(& ...
- HOG特征简述
---恢复内容开始--- 参考文献:http://blog.csdn.net/zouxy09/article/details/7929348 分为几步: 1)cell:有n×m个像素组成,计算每个像素 ...
- python类中self是什么
参考文献:http://www.cnblogs.com/linuxcat/archive/2012/01/05/2220997.html 注: (1)self在定义类的方法时是必须有的. (2)调用时 ...
- Uncaught TypeError: jQuery.i18n.browserLang is not a function
/********************************************************************* * Uncaught TypeError: jQuery. ...
- 模仿QQ气泡聊天
尝试了几种方案,想模仿QQ的气泡聊天,总是不尽如意.网上倒是大把的Android和Html的例子,Delphi的没找着,只能自己试着折腾. 1. 用WebBrowser加载本地html,屡次折腾,失败 ...
- javascript中typeof用法
JS中的变量是松散类型(即弱类型)的,可以用来保存任何类型的数据. typeof 可以用来检测给定变量的数据类型,可能的返回值: 1. 'undefined' --- 这个值未定义: 2. 'bool ...
- 【DUBBO】dubbo的Directory接口
集群目录服务Directory, 代表多个Invoker, 可以看成List,它的值可能是动态变化的比如注册中心推送变更.集群选择调用服务时通过目录服务找到所有服务. (1)StaticDirecto ...