今天会开始来讲元件的部分~
import tkinter as tk
def plus():
print("你点击了按钮")
window = tk.Tk()
window.title('GUI')
window.geometry('380x400')
window.resizable(False, False)
window.iconbitmap('icon.ico')
test = tk.Button(text="这是Button",command=plus)
test.pack()
window.mainloop()
可以看到,点击按钮後会执行前面定义的函式plus(),在cmd显示"你点击了按钮"。
这些是比较基本的通用参数,基本上所有元件都可适用。
button这个元件就是按钮,比较重要的参数就是text,用来显示按钮内的文字。
import tkinter as tk
window = tk.Tk()
window.title('GUI')
window.geometry('380x400')
window.resizable(False, False)
window.iconbitmap('icon.ico')
test = tk.Button(text="这是Button",bg="yellow")
test.place(x=0,y=0)
window.mainloop()
Entry用来呈现让使用者输入文字的视窗,利用show()函式可以将输入的文字转成指定的文字,像是这样:
test = tk.Entry(show="*")
test.pack()
我们使用get()这个函式来取得使用者输入的资讯,使程序可以根据使用者输入的文字来做出不同的回应:
import tkinter as tk
def show():
password=test.get()
print(password)
window = tk.Tk()
window.title('GUI')
window.geometry('380x400')
window.resizable(False, False)
window.iconbitmap('icon.ico')
test = tk.Entry(show="*")
test.pack()
testButton = tk.Button(text="show",command=show)
testButton.pack()
window.mainloop()
可以看到我将按钮的command设定到了show()这个函式,并且用get()取得输入框的文字并且显示在cmd上。
这个元件在状态上只有勾选以及未勾选的状况,也就是1跟0,在状态判别非常简单。
常使用到的参数有下面这两个:
test = tk.Checkbutton(text="这是启用的勾选框",state="normal")
test.pack()
test2 = tk.Checkbutton(text="这是禁用的勾选框",state="disabled")
test2.pack()
可以看到下面的勾选框无法点击,上面的可以点击,一样可以使用get()来取得当前状态(勾选为1,未勾选为0),进而达到一些功能。
这个元件就是常见的按圆形按纽,通常不能复选。
若要一组Radiobutton,我们必须把它们编到一组,才会在点击不同按钮时切换选项。
radioVar = tk.IntVar()
radio1 = tk.Radiobutton(text='Button1',variable=radioVar, value=1)
radio2 = tk.Radiobutton(text='Button2',variable=radioVar, value=2)
radio3 = tk.Radiobutton(text='Button3',variable=radioVar, value=3)
radio1.place(x=40,y=25)
radio2.place(x=140,y=25)
radio3.place(x=240,y=25)
用tk.IntVar()函式,并在不同Radiobutton中的参数variable中放入一样的组别名称,然後设定选取时的value为多少:
Label就是标签(讲废话),可以想像成是一个空的盒子,可以放入你想要的东西。通常我都使用image函式来塞图片,先用tk.PhotoImage()这个功能选取图片後,再丢到Label中:
img =tk.PhotoImage(file='01.png')
test = tk.Label(image=img)
test.pack()
window.mainloop()
这个就是我们常常在程序上方可以看到的开启档案阿,储存等等的那一排。
window = tk.Tk()
window.title('GUI')
window.geometry('380x400')
window.resizable(False, False)
window.iconbitmap('icon.ico')
menu = tk.Menu(window)
window.config(menu=menu)
menu.add_command(label='开启')
window.mainloop()
用tk.Menu可以建立一层的menu,再利用add_command()来创建元素:
如果想要按下menu後可以跳出更多选项的话,我们需要建立第二层menu:
menu = tk.Menu(window)
window.config(menu=menu)
menu2 = tk.Menu(menu)
menu2.add_command(label='开启')
menu2.add_command(label='储存')
menu2.add_command(label='另存')
menu.add_cascade(label='功能',menu=menu2)
先建立第一层menu,将menu2这个变数(第二层menu)绑在menu(第一层menu)下,并且建立三个menu2的元件,再用add_cascade()这个功能将第一层menu建立出来然後把menu2的东西绑进去。(好麻烦
虚线可以将tearoff参数设置为0来让它消失。
menu2 = tk.Menu(menu,tearoff=0) #这行改成这样
其实还有满多元件的,想了解更多的可以来这个网站看:https://www.tutorialspoint.com/python/python_gui_programming.htm
明天直接来实际做一个有用(?)的小程序出来好了,实作才是进步的最大核心!
<<: 【Day 24】半监督式学习(Semi-supervised Learning)(上)
全文同步於个人 Docusaurus Blog 前一章印出使用者名称和讯息内容後,接下来要尝试将其...
本系列文章同步发布於笔者网站 上一篇介绍了 Neutron 的架构,接下来两篇将会接续介绍 Neut...
前言 接下来这一篇算是收割前面几个章节的章节小练习,基本上我是尽量规划每过几个章节就有一些小作业、小...
from selenium import webdriver import openpyxl imp...
After the previous 2 articles of CSS basic introdu...