進(jìn)階Python之圖形界面篇(上)
GUI介紹
圖形用戶界面(Graphical User Interface,簡稱 GUI,又稱圖形用戶接口)是指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面。圖形用戶界面是一種人與計(jì)算機(jī)通信的界面顯示格式,允許用戶使用鼠標(biāo)等輸入設(shè)備操縱屏幕上的圖標(biāo)或菜單選項(xiàng),以選擇命令、調(diào)用文件、啟動(dòng)程序或執(zhí)行其它一些日常任務(wù)。與通過鍵盤輸入文本或字符命令來完成例行任務(wù)的字符界面相比,圖形用戶界面有許多優(yōu)點(diǎn)。圖形用戶界面由窗口、下拉菜單、對話框及其相應(yīng)的控制機(jī)制構(gòu)成,在各種新式應(yīng)用程序中都是標(biāo)準(zhǔn)化的,即相同的操作總是以同樣的方式來完成,在圖形用戶界面,用戶看到和操作的都是圖形對象,應(yīng)用的是計(jì)算機(jī)圖形學(xué)的技術(shù)。
在設(shè)計(jì)GUI程序的過程中,需要對用戶界面進(jìn)行渲染,達(dá)到色彩與便捷智能化一體。而在Python內(nèi)置庫里面,有一個(gè)自帶的就是tkinter庫,我們直接導(dǎo)入 使用即可。
簡單操作
import tkinter top=tkinter.Tk()#生成一個(gè)主窗口 # 這里面可以作為消息循環(huán),添加窗口功能 label=tkinter.Label(top,text="圖形界面程序!") label.pack()#將標(biāo)簽label添加到窗口中 button1=tkinter.Button(top,text="按鈕1") button1.pack(side=tkinter.LEFT)#將按鈕1添加到窗口里 button2=tkinter.Button(top,text="按鈕2") button2.pack(side=tkinter.RIGHT)#將按鈕2添加到窗口里 top.mainloop()#進(jìn)入消息循環(huán)
1
2
3
4
5
6
7
8
9
10
tkinter組件介紹
import tkinter import tkMessageBox top = tkinter.Tk() def helloCallBack(): tkMessageBox.showinfo("Hello Python", "Hello Runoob") B = tkinter.Button(top, text="點(diǎn)我", command=helloCallBack) B.pack() top.mainloop()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
最完整的tkinter組件
向窗體中添加按鈕控件
import tkinter root=tkinter.Tk()#生成一個(gè)主窗口對象 button1=tkinter.Button(root,anchor=tkinter.E,#設(shè)置文本對齊方式 text="按鈕1",width=30,#設(shè)置按鈕寬度 height=7) button1.pack()#將按鈕添加到主窗口 button2=tkinter.Button(root,text="按鈕2",bg="red")#設(shè)置背景按鈕色 button2.pack() button3=tkinter.Button(root,text="按鈕3",width=12,height=1) button3.pack() button4=tkinter.Button(root,text="按鈕4",width=40,height=7, state=tkinter.DISABLED)#設(shè)置按鈕為禁用 button4.pack() root.mainloop()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
使用文本框控件
在tkinter庫中可以實(shí)現(xiàn)信息接收和用戶的信息輸入工作,在Python程序中,使用tkinter.Entry和tkinter.text可以創(chuàng)建單行文本和多行文本框組件,通過傳遞一些屬性來解決顏色問題。
import tkinter root=tkinter.Tk() entry1=tkinter.Entry(root, show="*"#設(shè)置顯示文本是星號(hào) ) entry1.pack() entry2=tkinter.Entry(root,show="$",width=50) entry2.pack() entry3=tkinter.Entry(root,bg="red",fg="blue")#設(shè)置文本框的前景色 entry3.pack() entry4=tkinter.Entry(root,state=tkinter.DISABLED) entry4.pack() entry5=tkinter.Entry(root,selectbackground="red",selectforeground="gray")#分別設(shè)置文本背景色和文本前景色 entry5.pack() edit1=tkinter.Text(root,selectbackground="red",selectforeground="gray") edit1.pack() root.mainloop()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
使用菜單控件
在使用菜單控件的時(shí)候,和我們使用其他控件有所不同,我們需要使用創(chuàng)建主窗口的方法config()將菜單添加到窗口中。
import tkinter root=tkinter.Tk() menu=tkinter.Menu(root) # 添加主菜單選項(xiàng) submenu=tkinter.Menu(menu,tearoff=0) submenu.add_command(label="打開") submenu.add_command(label="保存") submenu.add_command(label="關(guān)閉") menu.add_cascade(label="文件",menu=submenu)#設(shè)置標(biāo)頭簽名稱 submenu=tkinter.Menu(menu,tearoff=0) submenu.add_command(label="復(fù)制") submenu.add_command(label="粘貼") submenu.add_separator() submenu.add_command(label="剪切") menu.add_cascade(label="編輯",menu=submenu) submenu=tkinter.Menu(menu,tearoff=0) submenu.add_command(label="黑客模式") submenu.add_command(label="植入病毒") submenu.add_command(label="獲取密碼") menu.add_cascade(label="幫助",menu=submenu) root.config(menu=menu)#將菜單添加到主窗口 root.mainloop()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
自己可定義不同的選項(xiàng),之后我們在選項(xiàng)里面嵌入不同的功能,這樣就達(dá)到了一個(gè)簡單圖形界面軟件的開發(fā)。
使用標(biāo)簽控件
import tkinter root=tkinter.Tk() label1=tkinter.Label(root, # anchor=tkinter.E,#設(shè)置標(biāo)簽文本位置 bg="yellow",#設(shè)置標(biāo)簽的背景色 fg="blue",#設(shè)置標(biāo)簽的前景色 text="我是王小王\n!",#設(shè)置標(biāo)簽顯示的文本 justify=tkinter.CENTER, width=40,#設(shè)置標(biāo)簽寬度 height=5#設(shè)置標(biāo)簽高度 ) label1.pack()#將標(biāo)簽1添加到主窗口 label2=tkinter.Label(root, text="你好\nPython!",#設(shè)置標(biāo)簽顯示的文本 justify=tkinter.LEFT, width=40,#設(shè)置標(biāo)簽寬度 height=5#設(shè)置標(biāo)簽高度 ) label2.pack() label3=tkinter.Label(root, text="你好\nPython!",#設(shè)置標(biāo)簽顯示的文本 justify=tkinter.RIGHT, width=40,#設(shè)置標(biāo)簽寬度 height=5#設(shè)置標(biāo)簽高度 ) label3.pack() label4=tkinter.Label(root, text="你好\nPython!",#設(shè)置標(biāo)簽顯示的文本 justify=tkinter.CENTER, width=40,#設(shè)置標(biāo)簽寬度 height=5#設(shè)置標(biāo)簽高度 ) label4.pack() root.mainloop()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
使用單選按鈕和復(fù)選按鈕組件
import tkinter root=tkinter.Tk() r=tkinter.StringVar()#生成字符串變量 r.set("1") radio=tkinter.Radiobutton(root, variable=r, value="1",#設(shè)置單選按鈕時(shí)的變量值 text="單選按鈕1", ) radio.pack() radio=tkinter.Radiobutton(root, variable=r, value="2",#設(shè)置單選按鈕時(shí)的變量值 text="單選按鈕2", ) radio.pack() radio=tkinter.Radiobutton(root, variable=r, value="3",#設(shè)置單選按鈕時(shí)的變量值 text="單選按鈕3", ) radio.pack() radio=tkinter.Radiobutton(root, variable=r, value="4",#設(shè)置單選按鈕時(shí)的變量值 text="單選按鈕4", ) radio.pack() c=tkinter.IntVar()#生成整型變量 c.set(1) check=tkinter.Checkbutton(root,text="復(fù)選按鈕", variable=c,#復(fù)選按鈕關(guān)聯(lián)的變量 onvalue=1,#設(shè)置復(fù)選按鈕時(shí)的變量值1 offvalue=2)#設(shè)置復(fù)選按鈕時(shí)的變量值2 check.pack() root.mainloop() print(r.get()) print(c.get())
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
使用繪圖組件
import tkinter root=tkinter.Tk() canvas=tkinter.Canvas(root, width=600, height=480, bg="white")#設(shè)置繪圖控件的背景色 '''' ............... '''
1
2
3
4
5
6
7
8
9
10
至于圖形界面的開發(fā)我們這里只是了解到了一個(gè)概念,比如如何自己設(shè)計(jì),這樣渲染窗口,還有就是怎樣去把功能添加到圖形界面中,比如我們打開一個(gè)記事本,里面有保存等功能我們可以輸入一系列的東西進(jìn)行操作,下期文章我們會(huì)tkinter的事件
每文一語
每個(gè)人都有一個(gè)覺醒期,只是覺醒期的早晚決定了一個(gè)人的人生!
Python
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。