Python中使用Tkinter模块创建GUI程序实例
作者:junjie 发布时间:2023-01-22 09:37:38
标签:Python,Tkinter,GUI
使用Tkinter模块来创建简单的GUI程序。
Tkinter的Widgets有:Button、Canvas、Checkbutton、Entry、Frame、Label、Listbox、Menu、Menubutton、Message、Radiobutton、Scales、Scrollbar、TEXT、Toplevel等。
例:
# This program displays an empty window.
import Tkinter
def main():
main_window = Tkinter.Tk()
Tkinter.mainloop()
main()
例2:
import Tkinter
class MyGUI:
def __init__(self):
# Create the main window widget.
self.main_window = Tkinter.Tk()
# Enter the Tkinter main loop.
Tkinter.mainloop()
# Create an instance of the MyGUI class.
my_gui = MyGUI()
例3:
# The program displays a label with text.
import Tkinter
class MyGUI:
def __init__(self):
self.main_window = Tkinter.Tk()
# Create a Label widget containing the text 'Hello world'
self.label = Tkinter.Label(self.main_window, text='Hello World!')
# Call the Label widget's pack method.
self.label.pack()
# Enter the Tkinter main loop.
Tkinter.mainloop()
# Create an instance of the MyGUI class.
my_gui = MyGUI()
例4:
import Tkinter
class MyGUI:
def __init__(self):
self.main_window = Tkinter.Tk()
self.label1 = Tkinter.Label(self.main_window,text='Hello World!')
self.label2 = Tkinter.Label(self.main_window,text='This is my GUI program.')
self.label1.pack()
self.label2.pack()
Tkinter.mainloop()
mygui = MyGUI()
例5:
import Tkinter
class MyGUI:
def __init__(self):
self.main_window = Tkinter.Tk()
self.label1 = Tkinter.Label(self.main_window,text='Hello World!')
self.label2 = Tkinter.Label(self.main_window,text='This is my GUI program.')
self.label1.pack(side='left')
self.label2.pack(side='left')
Tkinter.mainloop()
mygui = MyGUI()
例6:
import Tkinter
class MyGUI:
def __init__(self):
self.main_window = Tkinter.Tk()
self.top_frame = Tkinter.Frame(self.main_window)
self.bottom_frame = Tkinter.Frame(self.main_window)
self.label1 = Tkinter.Label(self.top_frame,text='Winken')
self.label2 = Tkinter.Label(self.top_frame,text='Blinken')
self.label3 = Tkinter.Label(self.top_frame,text='Nod')
self.label1.pack(side='top')
self.label2.pack(side='top')
self.label3.pack(side='top')
self.label4 = Tkinter.Label(self.bottom_frame,text='Winken')
self.label5 = Tkinter.Label(self.bottom_frame,text='Blinken')
self.label6 = Tkinter.Label(self.bottom_frame,text='Nod')
self.label4.pack(side='left')
self.label5.pack(side='left')
self.label6.pack(side='left')
self.top_frame.pack()
self.bottom_frame.pack()
Tkinter.mainloop()
mygui = MyGUI()
按钮Widget和信息对话框
使用tkMessageBox模块的showinfo函数来显示信息对话框。
例:
# the program demonstrates a Button widget.
# when the user clicks the button, an info dialog box is displayed.
import Tkinter
import tkMessageBox
class MyGUI:
def __init__(self):
self.main_window = Tkinter.Tk()
self.my_button = Tkinter.Button(self.main_window, text='Click me!',command=self.do_something)
self.my_button.pack()
Tkinter.mainloop()
def do_something(self):
tkMessageBox.showinfo('Response','Thanks for clicking the button.')
mygui = MyGUI()
例2:
import Tkinter
import tkMessageBox
class MyGUI:
def __init__(self):
self.main_window = Tkinter.Tk()
self.my_button = Tkinter.Button(self.main_window, text='Click me!',command=self.do_something)
self.quit_button = Tkinter.Button(self.main_window,text='Quit',command=self.main_window.quit)
self.my_button.pack()
self.quit_button.pack()
Tkinter.mainloop()
def do_something(self):
tkMessageBox.showinfo('Response','Thanks for clicking the button.')
mygui = MyGUI()
用Entry Widget得到输入
Entry Widget是一个矩形区域,用户可输入其中。可使用Entry Widget的get方法取回输入的数据。
例:
import Tkinter
import tkMessageBox
class KiloGUI:
def __init__(self):
self.main_window = Tkinter.Tk()
self.top_frame = Tkinter.Frame(self.main_window)
self.bottom_frame = Tkinter.Frame(self.main_window)
self.label = Tkinter.Label(self.top_frame,text='Enter a distance in kilometers:')
self.entry = Tkinter.Entry(self.top_frame,width=10)
self.button1 = Tkinter.Button(self.bottom_frame,text='Convert',command=self.convert)
self.button2 = Tkinter.Button(self.bottom_frame,text='Quit',command=self.main_window.quit)
self.label.pack(side='left')
self.entry.pack(side='left')
self.button1.pack(side='left')
self.button2.pack(side='left')
self.top_frame.pack()
self.bottom_frame.pack()
Tkinter.mainloop()
def convert(self):
kilo = float(self.entry.get())
miles = kilo*0.6214
tkMessageBox.showinfo('Result',str(kilo)+' kilometers is equal to '+str(miles)+' miles.')
mygui = KiloGUI()
例2:
import Tkinter
import tkMessageBox
class KiloGUI:
def __init__(self):
self.main_window = Tkinter.Tk()
self.top_frame = Tkinter.Frame(self.main_window)
self.mid_frame = Tkinter.Frame(self.main_window)
self.bottom_frame = Tkinter.Frame(self.main_window)
self.label1 = Tkinter.Label(self.top_frame,text='Enter a distance in kilometers:')
self.entry = Tkinter.Entry(self.top_frame,width=10)
self.button1 = Tkinter.Button(self.bottom_frame,text='Convert',command=self.convert)
self.button2 = Tkinter.Button(self.bottom_frame,text='Quit',command=self.main_window.quit)
self.label2 = Tkinter.Label(self.mid_frame,text='Converted to miles:')
self.value = Tkinter.StringVar()
self.label3 = Tkinter.Label(self.mid_frame,textvariable=self.value)
self.label1.pack(side='left')
self.entry.pack(side='left')
self.button1.pack(side='left')
self.button2.pack(side='left')
self.label2.pack(side='left')
self.label3.pack(side='left')
self.top_frame.pack()
self.mid_frame.pack()
self.bottom_frame.pack()
Tkinter.mainloop()
def convert(self):
kilo = float(self.entry.get())
miles = kilo*0.6214
self.value.set(miles)
mygui = KiloGUI()
Radio按钮和Check按钮
例:
import Tkinter
import tkMessageBox
class MyGUI:
def __init__(self):
self.main_window = Tkinter.Tk()
self.top_frame = Tkinter.Frame(self.main_window)
self.bottom_frame = Tkinter.Frame(self.main_window)
self.radio_var = Tkinter.IntVar()
self.radio_var.set(1)
self.rb1 = Tkinter.Radiobutton(self.top_frame,text='Option 1',variable=self.radio_var,value=1)
self.rb2 = Tkinter.Radiobutton(self.top_frame,text='Option 2',variable=self.radio_var,value=2)
self.rb3 = Tkinter.Radiobutton(self.top_frame,text='Option 3',variable=self.radio_var,value=3)
self.rb1.pack()
self.rb2.pack()
self.rb3.pack()
self.ok_button = Tkinter.Button(self.bottom_frame,text='OK',command=self.show_choice)
self.quit_button = Tkinter.Button(self.bottom_frame,text='QUIT',command=self.main_window.quit)
self.ok_button.pack(side='left')
self.quit_button.pack(side='left')
self.top_frame.pack()
self.bottom_frame.pack()
Tkinter.mainloop()
def show_choice(self):
tkMessageBox.showinfo('Selection','You selected optioin '+str(self.radio_var.get()))
mygui = MyGUI()
0
投稿
猜你喜欢
- 1. python三维图表绘制方法简介python三维图表的绘制算是二维图表的一个进阶版本,本质上和二维图表的绘制并无差别,唯一的区别在于使
- 环境:Zend Studio 8.0Zend Studio是PHP开发者的首选开发工具,其地位相当于微软开发工具中的Visual Studi
- 博主最近需要做一个物流信息查询,就去网上搜索一个快递鸟的API接口,返回值是以JSON格式,只需要返回是转成数组就能轻松实现各种实例了。下图
- 这节介绍接口测试工具postman的基本使用方法, 测试系统就是2.8节自己开发的具有用户增删改查操作的web应用程序——[FirstJav
- 数字运算=:用于给变量赋值type(x):查看数据所属类型isinstance(x, A_tuple):判断数据是否为预期类型+:两个数相加
- 简介mysql应该是我们在日常工作中使用到的一个非常普遍的数据库,虽然mysql现在是oracle公司的,但是它是开源的,市场占有率还是非常
- 我最新最全的文章都在 南瓜慢说 www.pkslow.com ,欢迎大家来喝茶!1 数据库审计数据库审计是指当数据库有记录变更时,可以记录数
- 前言:Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。Python对SMTP支持有smtplib和ema
- 借助 org.springframework.ui.Model 对象或 Map 对象将信息传到 springmvc 的页面中需要:jstl
- 前言大家都知道Python内置的常量不多,只有6个,分别是True、False、None、NotImplemented、Ellipsis、_
- mysql> select binary 'ABCD'='abcd' COM1, 'ABCD&
- 直接赋值:其实就是对象的引用(别名)。浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。深拷贝(deepcopy): copy 模
- 如果需要在数据库中存储图片或视频类的数据,我们可以配置MEDIA.下面的示例将以上传一张图片的形式来说明MEDIA的配置及用法.第一步 se
- 前言什么算是高层的文件操作呢?普通的文件操作,我们一般只涉及创建文件,文件夹以及写入文件等等。假如我现在需要复制一个文件的内容到另一个文件之
- 最近在做个大数据量的录入,为了方便客户输入,需要通过方向键来移动到输入框中,本代码仅供学习、研究,请勿用于其它用途:D下面贴的代码只是贴出来
- js表单验证只能是写限定的东西大收集 代码如下:ENTER键可以让光标移到下一个输入框<input onkeydown=&q
- <?php /* *@author 夜无眠  
- 最简单的例子:a = [1,1,1,1,2,2,2,3,3,1,1,1,3]# 问:计算a中最多有几个连续的1很明显,答案是4如果用代码实现
- 原理之前也做过浏览器web端的SDK数据埋点上报,其实原理大同小异:通过劫持原始方法,获取需要上报的数据,最后再执行原始方法,这样就能实现无
- 目标:在64位linux系统上编译出32位程序。操作:1.执行 go env 查看当前go环境配置2.执行 export GOARCH=38