Python中使用Tkinter模块创建GUI程序实例

 更新时间:2015年01月14日 09:21:16   投稿:junjie  
这篇文章主要介绍了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()

相关文章

  • pandas数据清洗,排序,索引设置,数据选取方法

    pandas数据清洗,排序,索引设置,数据选取方法

    下面小编就为大家分享一篇pandas数据清洗,排序,索引设置,数据选取方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 使用python实现ftp的文件读写方法

    使用python实现ftp的文件读写方法

    今天小编就为大家分享一篇使用python实现ftp的文件读写方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python获取网络图片和视频的示例代码

    Python获取网络图片和视频的示例代码

    Python 是一种多用途语言,广泛用于脚本编写。我们可以编写Python 脚本来自动化日常事务。本文将用Python实现获取Google图片和YouTube视频,需要的可以参考一下
    2022-03-03
  • Python的Geopy库处理地理编码与位置信息

    Python的Geopy库处理地理编码与位置信息

    地理编码和位置信息在现代应用中扮演着重要角色,本文主要介绍了Python的Geopy库处理地理编码与位置信息,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • OpenCV imread读取图片失败的问题及解决

    OpenCV imread读取图片失败的问题及解决

    这篇文章主要介绍了OpenCV imread读取图片失败的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Python os和os.path模块详情

    Python os和os.path模块详情

    这篇文章主要介绍了Python os和os.path模块详情,文章围绕主题展开详细的相关内容,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-04-04
  • np.random.seed() 的使用详解

    np.random.seed() 的使用详解

    这篇文章主要介绍了np.random.seed() 的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • python sklearn包——混淆矩阵、分类报告等自动生成方式

    python sklearn包——混淆矩阵、分类报告等自动生成方式

    今天小编就为大家分享一篇python sklearn包——混淆矩阵、分类报告等自动生成方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python and、or以及and-or语法总结

    Python and、or以及and-or语法总结

    这篇文章主要介绍了Python and、or以及and-or语法总结,本文分别给出实例讲解它们的使用方法,需要的朋友可以参考下
    2015-04-04
  • Python 多维List创建的问题小结

    Python 多维List创建的问题小结

    这篇文章主要介绍了Python 多维List创建的问题小结,详细的介绍了遇到的一个小问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01

最新评论