<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本期案例是帶著大家制作一個屬於自己的GUI圖形化介面—>用於設計簽名的哦(效果如下圖),是不是感覺很好玩,是不是很想學習呢?限於篇幅,今天我們首先詳細講述一下Tkinter
的使用方法。本來不準備詳細講述這個基礎知識,但是我怕那些想學習的同學,學起來不過癮,還是補充了這一章。
Tkinter
是Python的標準GUI庫。Python使用Tkinter可以快速地建立GUI應用程式。當然常用的GUI庫還有PyQt5
,我們只需要知道這兩個常用的即可,如果你真的想學習的話。由於Tkinter
屬於Python標準庫,就不需要使用pip安裝,直接匯入使用即可。
root.mainloop()
顯示視窗;
視窗預設會顯示在電腦螢幕的左上角,非常小(後面需要改進);
from tkinter import * from tkinter import messagebox # 建立視窗:範例化一個視窗物件。 root = Tk() # 顯示視窗 root.mainloop() """ 注意到:該視窗預設的顯示位置在哪裡,觀察我下面的截圖。 視窗預設顯示在整個電腦螢幕的左上角,並且視窗大小特別小。 """
結果如下:
注意:上面2行程式碼,首先範例化一個視窗物件,然後我們展示了這個視窗,讓其真正顯示出來。接下來我們的操作,就是針對這個視窗的一系列優化操作,請注意:這個優化操作使用的程式碼,都是放在這2句程式碼中間。
root.geometry("600x400")
調整視窗的大小;
該方法中傳入的是"寬x高",但是需要注意這個乘號是小寫的英文字母x,而不是這個*表示的乘號;
from tkinter import * from tkinter import messagebox # 建立視窗:範例化一個視窗物件。 root = Tk() # 視窗大小 root.geometry("600x450") # 顯示視窗 root.mainloop()
結果如下:
root.geometry("600x400+374+182")
調整視窗的大小+位置;
374,182表示的是視窗頂點,距離電腦左上角的座標。這個數位怎麼得到的呢?直接藉助微信截圖就可以顯示了。
操作程式碼如下:
from tkinter import * from tkinter import messagebox # 建立視窗:範例化一個視窗物件。 root = Tk() # 視窗大小 root.geometry("600x450+374+182") # 顯示視窗 root.mainloop()
結果如下:
root.title()
設定視窗的標題;
預設的視窗標題是tk;
from tkinter import * from tkinter import messagebox # 建立視窗:範例化一個視窗物件。 root = Tk() # 視窗大小 root.geometry("600x450+374+182") # 視窗標題 root.title("我的個性簽名設計") # 顯示視窗 root.mainloop()
結果如下:
Label(root,text="簽名")
新增標籤控制元件
第一個引數傳入的就是範例化的那個root視窗物件;第二個引數傳入的要顯示的那個標籤文字;
僅僅新增標籤控制元件後,還不行,必須要指定一個位置後,該標籤控制元件才會真正展示出來,即最後需要呼叫grid()方法後,才會顯示標籤控制元件;
from tkinter import * from tkinter import messagebox # 建立視窗:範例化一個視窗物件。 root = Tk() # 視窗大小 root.geometry("600x450+374+182") # 視窗標題 root.title("我的個性簽名設計") # 新增標籤控制元件 label = Label(root) # 定位 label.grid() # 顯示視窗 root.mainloop()
結果如下:
當然你也可以想到,這個方法肯定還可以修改字型樣式、字型大小、字型顏色呀?具體怎麼操作呢?我們接著往下面看。
from tkinter import * from tkinter import messagebox # 建立視窗:範例化一個視窗物件。 root = Tk() # 視窗大小 root.geometry("600x450+374+182") # 視窗標題 root.title("我的個性簽名設計") # 新增標籤控制元件 label = Label(root,text="簽名",font=("宋體",25),fg="red") """ text引數用於指定顯示的文字; font引數用於指定字型大小和字型樣式; fg引數用於指定字型顏色; """ # 定位 label.grid() # 顯示視窗 root.mainloop()
結果如下:
Entry(root,font=("宋體",25),fg="red")
新增輸入框
第一個引數傳入的就是範例化的那個root視窗物件;第二個引數可寫可不寫,指的是我們輸入的字型的字型樣式和字型大小;第三個引數同樣可寫可不寫,表示的是我們輸入的字型的顏色。
同樣,僅僅使用上述程式碼並不會顯示輸入框,只有呼叫grid()方法,定位後,才會真正顯示這個輸入框;
from tkinter import * from tkinter import messagebox # 建立視窗:範例化一個視窗物件。 root = Tk() # 視窗大小 root.geometry("600x450+374+182") # 視窗標題 root.title("我的個性簽名設計") # 新增標籤控制元件 label = Label(root,text="簽名",font=("宋體",25),fg="red") # 定位 label.grid() # 新增輸入框 entry = Entry(root,font=("宋體",25),fg="red") entry.grid() # 顯示視窗 root.mainloop()
結果如下:
注意:很明顯這樣的擺放方式,並不是我們想要的。我們需要調整一下,下面我們專門花一個小節時間,去講述怎麼調整這個擺放位置。
首先我們需要搞明白,顯示視窗究竟採用的是什麼樣子的佈局方式呢?其實是網格式的佈局方式。那麼什麼又是網格式的佈局方式呢?excel表格你知道吧,一個個的格子就是網格式的佈局方式。
好了!知道了上述原理後,我們現在來真正的調整這個控制元件擺放位置啦。
from tkinter import * from tkinter import messagebox # 建立視窗:範例化一個視窗物件。 root = Tk() # 視窗大小 root.geometry("600x450+374+182") # 視窗標題 root.title("我的個性簽名設計") # 新增標籤控制元件 label = Label(root,text="簽名:",font=("宋體",25),fg="red") # 定位 label.grid() """ label.grid()等價於label.grid(row=0,column=0) """ # 新增輸入框 entry = Entry(root,font=("宋體",25),fg="red") entry.grid(row=0,column=1) """ row=0,column=1表示我們將輸入框控制元件,放在第1行第2列的位置; python語言中,這個下標是從0開始的。 """ # 顯示視窗 root.mainloop()
結果如下:
Button(root,text="簽名設計",font=("宋體",25),fg="red")
新增輸入框
第一個引數傳入的就是範例化的那個root視窗物件;第二個引數展示的是我們這個點選按鈕的標籤;第三個引數可寫可不寫,指的是點選按鈕字型的字型樣式和字型大小;第四個引數同樣可寫可不寫,表示的是點選按鈕字型的顏色。
同樣,僅僅使用上述程式碼並不會顯示輸入框,只有呼叫grid()方法,定位後,才會真正顯示這個點選按鈕;
from tkinter import * from tkinter import messagebox # 建立視窗:範例化一個視窗物件。 root = Tk() # 視窗大小 root.geometry("600x450+374+182") # 視窗標題 root.title("我的個性簽名設計") # 新增標籤控制元件 label = Label(root,text="簽名:",font=("宋體",25),fg="red") # 定位 label.grid() # 新增輸入框 entry = Entry(root,font=("宋體",25),fg="red") entry.grid(row=0,column=1) # 新增點選按鈕 button = Button(root,text="簽名設計",font=("宋體",25),fg="blue") button.grid(row=1,column=1) # 顯示視窗 root.mainloop()
結果如下:
至此介面已經簡單搭建起來了,接下來要做的就是輸入一個名字,點選簽名設計後,會顯示我的這個簽名,此時就需要藉助爬蟲啦!明天我們將會發布該文的下篇哦,敬請期待。
這裡最後補充這個知識點,我們點選按鈕後,總是希望能夠給我們返回點什麼,所以呢,需要我們自定義函數。
from tkinter import * from tkinter import messagebox def func(): print("我是黃同學") # 建立視窗:範例化一個視窗物件。 root = Tk() # 視窗大小 root.geometry("600x450+374+182") # 視窗標題 root.title("我的個性簽名設計") # 新增標籤控制元件 label = Label(root,text="簽名:",font=("宋體",25),fg="red") # 定位 label.grid() # 新增輸入框 entry = Entry(root,font=("宋體",25),fg="red") entry.grid(row=0,column=1) # 新增點選按鈕 button = Button(root,text="簽名設計",font=("宋體",25),fg="blue",command=func) button.grid(row=1,column=1) """ command=func表示呼叫最開始定義的func函數。 func函數一定要在這句程式碼之前,因為這裡需要呼叫這個func函數。 """ # 顯示視窗 root.mainloop()
結果如下:
以上就是Python+Tkinter製作專屬圖形化介面的詳細內容,更多關於Python Tkinter圖形化介面的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45