日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python编程:Tkinter图形界面设计(1)

發布時間:2025/3/21 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python编程:Tkinter图形界面设计(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Tkinter的程序框架

窗口的生成和窗口的呈現,用Tk()和mainloop()包括起來,中間程序是附著在窗口的內部部件。

?

?二、窗口內容

窗口的內容,是最豐富的細節包括:1、幾何尺寸 2、按鈕部件 3、...

2.1 窗口的幾何尺寸

1)重要操作函數

  • 設置窗口的標題:root.title('Python GUI Learning')
  • 設置窗口大小:root.geometry('380x300')
  • 設定窗口可以(不可)重resize窗口:root.resizable(width=False, height=True)

2)參考代碼

from tkinter import Tk #初始化Tk() root = Tk() #設置標題 root.title('Python GUI Learning') #設置窗口大小 root.geometry('380x300') #設置窗口是否可變長、寬,True:可變,False:不可變 root.resizable(width=False, height=True) #進入消息循環 root.mainloop()

2.2 窗口的擺放位置

如果擺放窗口位置,需要知道屏幕的長寬。

1)關鍵函數

  • 獲取屏幕尺寸:screenwidth? = root.winfo_screenwidth()

? ? ? ? ? ? ? ? ? ? ? ? ?screenheight = root.winfo_screenheight()

  • 設置窗口的大小位置:root.geometry('380x300+200+100')

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?( 長=380,高=300,左上角位置(200,100))

2.3? 實驗代碼

from tkinter import Tk #初始化Tk() root = Tk() #設置標題 root.title('Python GUI Learning') #設置窗口大小 width = 380 height = 300 #獲取屏幕尺寸以計算布局參數,使窗口居屏幕中央 screenwidth = root.winfo_screenwidth() screenheight = root.winfo_screenheight() alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth-width)/2, (screenheight-height)/2) root.geometry(alignstr) #設置窗口是否可變長、寬,True:可變,False:不可變 root.resizable(width=False, height=True) #進入消息循環 root.mainloop()

2.3 控件管理

1)常用控件種類

????????一般窗口并不能實現交互,交互需要控件完成。Tkinter 提供了各種控件,如按鈕、標簽和文本框。在一個 GUI 應用程序中使用,這些控件通常被稱為控件或者部件,目前有19種Tkinter 部件,如下列表:

控件描述
button按鈕控件
Canvas畫布,可以實現幾何元素的繪制;
Checkbutton選擇按鈕
Entry就是其它語言的editer,文本輸入件
Frame一個矩形區域,構成控件容器
Label顯示文字和圖片
ListBox列表框
MenuButton菜單工具條
Menu菜單
Message消息控件,顯示多行文本
RadioButton單選按鈕
Scale可拉動數字游標尺
ScrollBar滾動條
Text顯示多行文本
TopLevel容器,用來提供單獨對話框
Spinbox輸入控件,與Entry類,但支持范圍
panedWindow布局管理插件,上盛放控件
labelFrame簡單容器
tkMessageBox顯示應用程序的消息框

?

2 控件擺放(?幾何管理)

????????Tkinter 控件有特定的幾何狀態管理方法,管理整個控件區域組織,以下是 Tkinter 公開
的幾何管理類:包、網格、位置。

幾何方法描述屬性說明
pack()設置控件位置

after:將組件置于其它組件之后
before:將組件置于其它組件之前
anchor:組件對齊方式,頂對齊‘n',底對齊’s‘,左’w',右‘e'
side:組件在主窗口的位置,可以為’top‘,’bottom‘,’left‘,’right‘

fill:填充方式(X垂直,X:水平)
expand:1可擴展,0不可擴展

grid()網格規劃column:組件所在的列起始位置
columnspam:組件列寬
row:組件起始位置
rowspam:組件的行寬
place()位置

anchor:組件對齊方式

x:組件左上角x坐標

y:組件左上角y坐標

relx:組件對于窗口的x相對坐標(0,1)之間

rely:組件對于窗口的y相對坐標(0,1)之間

width:組件寬度

height:組件高度

relwidth:組件相對窗口的寬度(0,1)

relheight:組件相對窗口的高度(0,1)

三、控件編程

3.1 Lable控件

????????標簽控件,基本用法為:? Lable(root, option...) ,即:Label(根對象, [屬性列表]),
其中屬性列表如下:

可選屬性說明
text文本內容 text=’登錄名稱‘
bg背景顏色
fg前景顏色
font字體
width寬度
height高度
padx水平邊距
pady垂直邊距
justify對齊方式
image圖像文件路徑
compound同一個區域顯示文字和圖片混合

?

Lable 控件實例
實例1:標簽展示文本,代碼如下:

from tkinter import* #初始化Tk() root = Tk() #設置標題 root.title('Python GUI Learning') #創建一個標簽,顯示文本 Label(root, text="user-name",bg='red',font=('Arial 12 bold'),width=30,height=1).pack() Label(root, text="password",bg='green',width=20,height=2).pack() #進入消息循環 root.mainloop()

執行結果:

??

實例2:標簽展示圖標,代碼如下:

from tkinter import* #初始化Tk() root = Tk() #設置標題 root.title('Python GUI Learning') #創建一個標簽,顯示圖標 logo = PhotoImage(file="temp.gif") Label(root, image=logo).pack(side='left') #進入消息循環 root.mainloop()

運行結果:

實例3:標簽圖文混疊,邊距控制,代碼如下:

from tkinter import* #初始化Tk() root = Tk() #設置標題 root.title('Python GUI Learning') #創建一個標簽,顯示文本 logo = PhotoImage(file="skyeL2.gif") explanation = """At present, only GIF and PPM/PGM formats are supported, but an interface exists to allow additional image file formats to be added easily.""" Label(root,compound=CENTER,text=explanation,image=logo).pack(side="right") #進入消息循環 root.mainloop()

?運行結果:

?

總結

以上是生活随笔為你收集整理的Python编程:Tkinter图形界面设计(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。