Tkinter
本文简朴先容了tkiner库的使用, 适合初学者入门, 适合用来做小工具, 比如计算器, 简朴的GUI等.
从目次我们可以找到Tkiner主要包罗两部分一个是主体框架,一个是窗口内容,接下来我们一起看看。
参考博客【Python】Tkinter教程
由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简朴的图形界面 Tkinter 还是能应付自若。
在下一篇文章中我们将使用Tkinter、socket、threading实现用python模仿多人聊天服务器以及客户端
- import tkinter
- top = tkinter.Tk()
- #进入消息循环
- top.mainloop()
复制代码
窗口主体框架
每一个 tkinter 应用的主体框架都可以包罗下面这部分. 界说 window 窗口 和 window的一些属性, 然后书写窗口内容, 最后执行window.mainloop让窗口活起来.
- import tkinter as tk
- window = tk.Tk()
- window.title('my window')
- window.geometry('500x500') #注意是x不是*
- window.mainloop()
复制代码
窗口内容
1. Label & Button(标签和按钮)
这次我们会建立一个用来形貌的标签 tk.Label, 比如:
- import tkinter as tk
- window = tk.Tk()
- window.title('my window')
- window.geometry('500x500')
- l = tk.Label(window,
- text= 'Hello, This is Tkinter',
- bg = 'pink',
- font=('Arial', 12),
- width=15, height=2)
- l.pack()
- window.mainloop()
复制代码
2. Button
- window = tk.Tk()
- window.title('my window')
- window.geometry('500x500')
- # 定义一个label
- var = tk.StringVar()
- l = tk.Label(window,
- textvariable=var,
- bg = 'pink',
- font=('Arial', 12),
- width=15, height=2)
- l.pack()
- on_hit = False
- # 定义一个按钮
- def hit_on():
- global on_hit
- if on_hit == False:
- on_hit = True
- var.set('You hit me')
- else:
- on_hit = False
- var.set('')
- b = tk.Button(window,
- text='点我',
- width=15,height=2,
- command=hit_on)
- b.pack()
- window.mainloop(
-
- )
复制代码
点击之后:
3. Entry & Text(输入 文本框)
窗口主题框架
每一个tkinter应用的主体框架都包罗以下几部分:
- 主窗口: window,及窗口的一些基本属性(标题、巨细)
- 让窗口活起来: window.mainloop()
- import tkinter as tk
- window = tk.Tk()
- window.title('my window')
- # 窗口尺寸
- window.geometry('500x500')
- # 显示出来
- window.mainloop()
复制代码
窗口内容(窗口上的控件)
- b1 = tk.Button(window,
- text='insert point',
- width=15,height=2,
- command=insert_point)
- b1.pack()
- b2 = tk.Button(window,
- text='insert end',
- width=15,height=2,
- command=insert_end)
- b2.pack()
复制代码
- 创建输入框entry, 用户输入任何内容都显示为*
- e = tk.Entry(window,
- show='*')
- e.pack()
复制代码
- t = tk.Text(window, height=2)
- t.pack()
复制代码
- 界说触发事件的函(注意:函数Python的执行顺序从上往下,所以函数肯定要放在按钮上面)
- def insert_point():
- var = e.get()
- t.insert('insert', var)
- def insert_end():
- var = e.get()
- t.insert('end', var)
复制代码
- import tkinter as tk window = tk.Tk()window.title('my window')# 窗口尺寸window.geometry('500x500')# 界说一个输入框entrye = tk.Entry(window, show='None')e.pack()# 界说按钮功能def insert_point():
- var = e.get()
- t.insert('insert', var)
- def insert_end():
- var = e.get()
- t.insert('end', var)
- # 界说按钮b1 = tk.Button(window,
- text='insert point',
- width=15,height=2,
- command=insert_point)
- b1.pack()
- b2 = tk.Button(window,
- text='insert end',
- width=15,height=2,
- command=insert_end)
- b2.pack()
- # 界说文本框t = tk.Text(window, height=2)t.pack()# 窗口显示window.mainloop()
复制代码
4. Listbox(列表框)
- import tkinter as tk
- window = tk.Tk()
- window.title('my window')
- window.geometry('500x500')
- # 创建一个label
- var1 = tk.StringVar()
- l = tk.Label(window,
- bg='pink',
- width=4,
- textvariable=var1)
- l.pack()
- # 按钮事件
- def print_selection():
- value = lb.get(lb.curselection())
- var1.set(value)
- # 创建一个按钮
- b1 = tk.Button(
- window,
- text='print selection',
- width=15,
- height=2,
- command=print_selection
- )
- b1.pack()
- # 创建一个Listbox和变量var2,并将var2的值赋给Listbox
- var2 = tk.StringVar()
- var2.set((11, 22, 33, 44))
- # 创建Listbox
- lb = tk.Listbox(
- window,
- listvariable=var2
- )
- # 创建一个list并将值循环添加到Listbox控件中
- list_items = [1, 2, 3, 4]
- for item in list_items:
- lb.insert('end', item)
- lb.insert(1, 'first') #向lb(Listbox)中添加值
- lb.insert(2, 'second')
- lb.delete(2)
- lb.pack()
- window.mainloop()
复制代码
5. Radiobutton 选择按钮
- import tkinter as tk
- window = tk.Tk()
- window.title('my window')
- window.geometry('200x200')
- # 创建一个Label
- var = tk.StringVar()
- l = tk.Label(window,
- bg = 'yellow',
- width = 20,
- height= 2,
- text = 'empty')
- l.pack()
- # 实现将选择的选项显示在label
- def print_selection():
- l.config(text='you have selected ' + var.get())
- # 创建几个Radiobutton
- r1 = tk.Radiobutton(window,
- text='Option A',
- variable=var,
- value='A',
- command=print_selection)
- r1.pack()
- r2 = tk.Radiobutton(window,
- text='Option B',
- variable=var,
- value='B',
- command=print_selection
- )
- r2.pack()
- r3 = tk.Radiobutton(window,
- text='Option C',
- variable=var,
- value='C',
- command=print_selection
- )
- r3.pack()
- window.mainloop()
复制代码
接下里我们将使用Tkinter、socket、threading实现用python模仿多人聊天服务器以及客户端
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |