GUI之tkinter視窗設計模組

2022-08-29 10:51:09 字數 1986 閱讀 9115

轉 python gui之tkinter視窗視窗教程大集合(看這篇就夠了)

******

tkinter是什麼

tkinter 是使用 python 進行視窗視窗設計的模組。tkinter模組("tk 介面")是python的標準tk gui工具包的介面。作為 python 特定的gui介面,是乙個影象的視窗,tkinter是python 自帶的,可以編輯的gui介面,我們可以用gui 實現很多直觀的功能,比如想開發乙個計算器,如果只是乙個程式輸入,輸出視窗的話,是沒用使用者體驗的。所有開發乙個影象化的小視窗,就是必要的。

這篇文章主要做乙個簡單概述和實踐程式設計,對於從沒有接觸過gui的新手,在腦中樹立乙個基本的介面程式設計概念,同時自己也能學會如何簡單的實現一些小的圖形視窗功能。

對於tkinter程式設計,可以用兩個比喻來理解:

第乙個,作畫。我們都見過美術生寫生的情景,先支乙個畫架,放上畫板,蒙上畫布,構思內容,用鉛筆畫草圖,組織結構和比例,調色盤調色,最後畫筆勾勒。相應的,對應到tkinter程式設計,那麼我們的顯示屏就是支起來的畫架,根窗體就是畫板,在tkinter中則是toplevel,畫布就是tkinter中的容器(frame),畫板上可以放很多張畫布(convas),tkinter中的容器中也可以放很多個容器,繪畫中的構圖布局則是tkinter中的布局管理器(幾何管理器),繪畫的內容就是tkinter中的乙個個小組件,一幅畫由許多元素構成,而我們的gui介面,就是有乙個個元件拼裝起來的,它們就是widget。

第二個,我們小時候都玩過積木,只要發揮創意,相同的積木可以堆出各種造型。tkinter的元件也可以看做乙個個積木,形狀或許不同,其本質都是一樣的,就是乙個積木,不管它長什麼樣子,它始終就是積木!所以這些小組件都有許多共性,另外,個人認為,學習介面程式設計,最重要的不是一開始學習每個積木的樣子,不是學習每個元件怎麼用,而是這些元件該怎麼放。初始學習中,怎麼放遠遠比怎麼用重要的多。網上有大量的文章資料,基本全是介紹元件怎麼用的,對於怎麼放,也就是tkinter中的布局管理器,都是一筆帶過,這對初學者有點本末倒置,或許絕大部分是**的原因吧,極少是自己真正寫的。元件怎麼用不是最迫切的,用到的時候再去了解也不遲,邊用邊學反而更好。因此我將專門寫一章,詳細介紹布局管理器的使用。

常用視窗部件及簡要說明

tkinter支援16個核心的視窗部件,這個16個核心視窗部件類簡要描述如下:

button:乙個簡單的按鈕,用來執行乙個命令或別的操作。

checkbutton:代表乙個變數,它有兩個不同的值。點選這個按鈕將會在這兩個值間切換。

entry:文字輸入域。

frame:乙個容器視窗部件。幀可以有邊框和背景,當建立乙個應用程式或dialog(對話)版面時,幀被用來組織其它的視窗部件。

label:顯示乙個文字或圖象。

listbox:顯示供選方案的乙個列表。listbox能夠被配置來得到radiobutton或checklist的行為。

menu:選單條。用來實現下拉和彈出式選單。

menubutton:選單按鈕。用來實現下拉式選單。

message:顯示一文字。類似label視窗部件,但是能夠自動地調整文字到給定的寬度或比率。

scale:允許你通過滑塊來設定一數字值。

scrollbar:為配合使用canvas, entry, listbox, and text視窗部件的標準滾動條。

toplevel:乙個容器視窗部件,作為乙個單獨的、最上面的視窗顯示。

messagebox:訊息框,用於顯示你應用程式的訊息框。(python2中為tkmessagebox)

注意在tkinter中視窗部件類沒有分級;所有的視窗部件類在樹中都是兄弟關係。

所有這些視窗部件提供了misc和幾何管理方法、配置管理方法和部件自己定義的另外的方法。此外,toplevel類也提供視窗管理介面。這意味乙個典型的視窗部件類提供了大約150種方法。

48 tkinter視窗居中

import tkinter as tk 匯入tkinter模組 計算視窗居中的位置 def get window positon width,height window x position root.winfo screenwidth width 2 window y position root...

windows service 與GUI視窗的實現

以前做過幾次windows service,但都是沒有介面的,想配置引數都只能使用文字檔案,然後重啟服務才行,而且不能檢視服務的執行狀態。最近在網上找到一些文章,終於找到可以啟動服務時有介面的方法。首先服務工程中本身不能有窗體,這是windows系統本身不支援的。因此必須要有兩個工程才能實現,一是服...

Python介面設計Tkinter之簡單例項

聲名 文中所用 執行環境 window 10 64bit,python 3.8 目錄 1.獲取文字框entry中的內容 2.限制文字框的輸入內容 參考文獻 from tkinter import import tkinter as tk from tkinter import ttk def clo...