下面我会详细讲解“Python tkinter模版代码实例”的完整攻略。
什么是Tkinter?
Tkinter 是 Python 自带的标准 GUI 库。它使得 Python 开发者们可以方便地创建图形用户界面。 Tkinter 提供了一系列的组件用于我们能够创建各种窗口类的应用程序。 Tkinter 无需另外安装,只需通过 import 来使用它。
安装Tkinter
在使用 Tkinter 时,我们无需通过 pip 等组件安装,因为 Tkinter 是 Python 自带的标准 GUI 库。
Tkinter 模版代码实例
下面提供一个简单的 Tkinter 模版代码实例:
try:
# for Python2
from Tkinter import *
except ImportError:
# for Python3
from tkinter import *
class App:
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.quit_button = Button(
frame, text="Quit", fg="red", command=frame.quit
)
self.quit_button.pack(side=LEFT)
self.hi_button = Button(frame, text="Hello", command=self.say_hi)
self.hi_button.pack(side=LEFT)
def say_hi(self):
print("Hello World!!")
root = Tk()
app = App(root)
root.mainloop()
以上代码实现了一个窗口 。在窗口中包含了以下几个控件:
- 一个按钮,点击会打印出 'Hello World!!'
- 一个退出按钮,点击会退出应用程序
上面的代码使用了 Python 的类来实现整个 GUI。我们先定义了一个 App 类,然后利用 App 类创建了主窗口。
在 mainloop() 中执行了整个应用程序的主循环。整个 GUI 的事件处理都由 mainloop() 来完成。
示例说明1
下面提供一个稍微复杂一些的 Tkinter 模版代码实例:
try:
# for Python2
from Tkinter import *
import Tkinter.messagebox as messagebox
except ImportError:
# for Python3
from tkinter import *
import tkinter.messagebox as messagebox
class App:
def __init__(self, master):
frame = Frame(master)
frame.pack(padx=50, pady=20)
self.label_text = StringVar()
self.label_text.set("Tkinter Model!")
self.label = Label(frame, textvariable=self.label_text, font=("Helvetica", 24))
self.label.pack(pady=5)
self.button1 = Button(frame, text="Say Hi", command=self.say_hi)
self.button1.pack(pady=5)
self.button2 = Button(frame, text="2019年PyCon主题", command=self.show_tkinter_title)
self.button2.pack(pady=5)
self.button3 = Button(frame, text="QUIT", fg="red", command=frame.quit)
self.button3.pack(pady=20)
def say_hi(self):
messagebox.showinfo("Hello World!", "Hello World!!")
def show_tkinter_title(self):
messagebox.showinfo("2019年PyCon主题", "Python GUI Programming Using Tkinter")
root = Tk()
app = App(root)
root.mainloop()
以上代码实现了一个窗口。在窗口中包含了以下几个控件:
- 一个 label,显示 "Tkinter Model!"
- 一个按钮,点击会弹出一个对话框,内容为 "Hello World!!"
- 一个按钮,点击会弹出一个对话框,显示 2019年PyCon主题
- 一个退出按钮,点击会退出应用程序
示例说明2
下面提供一个稍微复杂一些的 Tkinter 模版代码实例:
try:
# for Python2
from Tkinter import *
except ImportError:
# for Python3
from tkinter import *
class App:
def __init__(self, master):
self.master = master
self.master.geometry("200x125")
self.master.resizable(width=False, height=False)
self.master.title("Python GUI")
self.frame1 = Frame(master, bg="lightblue")
self.frame1.pack(fill=BOTH, expand=True)
self.button1 = Button(self.frame1, text="Press Me", command=self.do_something)
self.button1.pack(pady=20)
self.label1 = Label(self.frame1, text="Label 1", fg="white", bg="lightblue")
self.label1.pack(pady=10)
self.label2 = Label(self.frame1, text="Label 2", fg="white", bg="lightblue")
self.label2.pack(pady=10)
def do_something(self):
self.label1.config(text="Label 1 changed")
self.label2.config(text="Label 2 changed")
root = Tk()
app = App(root)
root.mainloop()
以上代码实现了一个窗口 。在窗口中包含了以下几个控件:
- 一个按钮,点击按钮会更改 label1 和 label2 的文本值
- 两个 label,分别显示 "Label 1" 和 "Label 2"
总之,以上介绍的例子只是 Tkinter 的冰山一角,Tkinter 还有很多元素需要我们去探索和学习。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python tkinter模版代码实例 - Python技术站