最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python Tkinter圖形工具使用方法及實例解析

 更新時間:2020年06月15日 15:22:49   作者:阿久丶xin  
這篇文章主要介紹了Python Tkinter圖形工具使用方法及實例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

Tkinter 常用組件

按鈕

  • Button 按鈕組件
  • RadioButton 單選框組件
  • CheckButton 選擇按鈕組件
  • Listbox 列表框組件

文本輸組件

  • Entry 單行文本框組件
  • Text 多行文本框組件

標簽組件

  • Label 標簽組件,可以顯示圖片和文字
  • Message 標簽組件, 可以根據(jù)內(nèi)容將文字換行

菜單

  • Menu 菜單組件
  • MenuButton 菜單按鈕組件,可以實用Menu代替

滾動條

  • Scale 滑動組件
  • Scrollbar 滾動條組件

其他組件 Canvas 畫布組件

  • Frame 框架組件,將多個組件編組
  • Toplevel 創(chuàng)建子窗口容器組件

組件的大致實用步驟創(chuàng)建總面板創(chuàng)建面板上各種組件

1.指定組件的父組件,即依附關(guān)系

2.利用相應(yīng)的屬性對組件進行設(shè)置

3.給組件安排布局最后啟動總面板的消息循環(huán)組件布局

控制組件的擺放方式

三種布局:

  • pack: 按照方位布局
  • place: 按照坐標布局
  • grid: 網(wǎng)格布局

pack布局

  • 最簡單,代碼量最少,挨個擺放,默認從上到下,系統(tǒng)自動設(shè)置
  • 通用實用方式為:組件對象.pack(設(shè)置......)
  • side:??糠轿唬蛇x值為LEFT,TOP,RIGHT,BOTTOM
  • fill:填充方式,x,y,BOTH,NONE
  • expande:YES/NO 擴充
  • anchor:N,E,S,W,CENTER
  • ipadx:x方向的內(nèi)邊距
  • ipady:y
  • padx:x的外方向邊界
  • pady:y

grid布局

  • 通用使用方式:組件對象.grid(設(shè)置......)
  • 利用row,cblumn編號,都是從0開始
  • sticky:N,E,S,W表示上下左右,用來決定組件從哪個方向開始
  • 支持ipadx,padx等參數(shù),跟pack函數(shù)一樣
  • 支持rowspan,columnspan,代表跨行,跨列數(shù)列

place布局:

  • 明確方位的擺放
  • 相對位置布局,隨意改變窗口大小會導(dǎo)致混亂
  • 使用place函數(shù),分為絕對布局和相對布局,絕對布局使用X,Y參數(shù)
  • 相對布局使用relx,rely,relheight,relwidth

案例1:創(chuàng)建一個自己定義的彈窗、并且里面有文字內(nèi)容

執(zhí)行完成就會彈出一個白色定義好的小方框,里面的內(nèi)容就是你定義的

import tkinter

base = tkinter.Tk()                # 創(chuàng)建總面板
# 負責(zé)標題
base.wm_title("Label Test")            # 創(chuàng)建面板的標題
lb = tkinter.Label(base, text="Pyhton Label")   # 創(chuàng)建一些內(nèi)容,把創(chuàng)建的內(nèi)容指定給我之前創(chuàng)建好的名為base的面板,Pyhton Label為面板的內(nèi)容
# 給相應(yīng)組件指定布局 
lb.pack()                     # 給相應(yīng)組件指定布局
base.mainloop()                  # 啟動總面板的消息循環(huán)(大致意思了解為啟動這個面板)

案例2:Button案例,創(chuàng)建一個彈窗,里面生成一個按鈕,當按鈕被按下去的時候,執(zhí)行我定義的函數(shù)

import tkinter
def showlabel():
  global baseFrame   # 調(diào)用全局變量,baseFrame,也可以把baseFrame = tkinter.Tk() 放到函數(shù)上面
  lb = tkinter.Label(baseFrame, text="我是函數(shù)里面的內(nèi)容")
  lb.pack()

if __name__ == '__main__':
  baseFrame = tkinter.Tk ()
  btn = tkinter.Button(baseFrame, text="點擊我、就會執(zhí)行函數(shù)", command=showlabel) # command為指定要執(zhí)行的函數(shù),不填默認不執(zhí)行
  btn.pack()
  baseFrame.mainloop()

執(zhí)行結(jié)果如下:

pack布局

  • 最簡單,代碼量最少,挨個擺放,默認從上到下,系統(tǒng)自動設(shè)置
  • 通用實用方式為:組件對象.pack(設(shè)置......)
  • side:??糠轿唬蛇x值為LEFT,TOP,RIGHT,BOTTOM
  • fill:填充方式,x,y,BOTH,NONE
  • expande:YES/NO 擴充
  • anchor:N,E,S,W,CENTER
  • ipadx:x方向的內(nèi)邊距
  • ipady:y
  • padx:x的外方向邊界
  • pady:y

案例3:pack 布局案例

# pack 布局案例
import tkinter


def button1():
  # 函數(shù)內(nèi)所有代碼都是創(chuàng)建一個組件,然后布局
  global baseFreame
  btn1 = tkinter.Button(baseFreame, text='A')
  btn1.pack(side=tkinter.LEFT, expand=tkinter.YES, fill=tkinter.Y)

  btn2 = tkinter.Button(baseFreame, text='B')
  btn2.pack(side=tkinter.TOP, expand=tkinter.YES, fill=tkinter.BOTH)

  btn3 = tkinter.Button(baseFreame, text='C')
  btn3.pack(side=tkinter.RIGHT, expand=tkinter.YES, fill=tkinter.NONE, anchor=tkinter.NE)

  btn4 = tkinter.Button(baseFreame, text='D')
  btn4.pack(side=tkinter.LEFT, expand=tkinter.NO, fill=tkinter.Y)

  btn5 = tkinter.Button(baseFreame, text='E')
  btn5.pack(side=tkinter.TOP, expand=tkinter.NO, fill=tkinter.BOTH)

  btn6 = tkinter.Button(baseFreame, text='F')
  btn6.pack(side=tkinter.BOTTOM, expand=tkinter.YES)

  btn7 = tkinter.Button(baseFreame, text='G')
  btn7.pack(anchor=tkinter.SE)

if __name__ == '__main__':

  baseFreame = tkinter.Tk()
  button1 ()
  baseFreame.mainloop()

執(zhí)行結(jié)果如下:

grid布局

  • 通用使用方式:組件對象.grid(設(shè)置......)
  • 利用row,cblumn編號,都是從0開始
  • sticky:N,E,S,W表示上下左右,用來決定組件從哪個方向開始
  • 支持ipadx,padx等參數(shù),跟pack函數(shù)一樣
  • 支持rowspan,columnspan,代表跨行,跨列數(shù)列

案例3:grid布局案例

import tkinter

def button1():
  # 函數(shù)內(nèi)所有代碼都是創(chuàng)建一個組件,然后布局
  global baseFreame
  btn1 = tkinter.Label(baseFreame, text='賬戶:')
  btn1.grid(row=0, sticky=tkinter.W)
  en = tkinter.Entry(baseFreame)
  en.grid(row=0, column=1, sticky=tkinter.E)

  btn2 = tkinter.Label(baseFreame, text='密碼:')
  btn2.grid(row=1, sticky=tkinter.W)
  en2 = tkinter.Entry(baseFreame)
  en2.grid(row=1, column=1, sticky=tkinter.E)

  btn2 = tkinter.Button(baseFreame, text='登陸')
  btn2.grid(row=2, column=1, sticky=tkinter.W)

if __name__ == '__main__':
  baseFreame = tkinter.Tk()
  button1()
  baseFreame.mainloop()

執(zhí)行結(jié)果如下:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用Python實現(xiàn)讀取Word表格計算匯總并寫入Excel

    利用Python實現(xiàn)讀取Word表格計算匯總并寫入Excel

    這篇文章主要給大家介紹了關(guān)于如何利用Python實現(xiàn)讀取Word表格計算匯總并寫入Excel的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-01-01
  • Django-Xadmin后臺首頁添加小組件報錯的解決方案

    Django-Xadmin后臺首頁添加小組件報錯的解決方案

    這篇文章主要介紹了Django-Xadmin后臺首頁添加小組件報錯的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • win10環(huán)境下配置vscode python開發(fā)環(huán)境的教程詳解

    win10環(huán)境下配置vscode python開發(fā)環(huán)境的教程詳解

    這篇文章主要介紹了win10環(huán)境下配置python開發(fā)環(huán)境(vscode)的教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • Python虛擬環(huán)境venv的使用方法

    Python虛擬環(huán)境venv的使用方法

    venv 是 Python 里的一個標準工具,它的主要功能是幫助用戶管理和控制虛擬環(huán)境,venv 的使用方法其實非常簡單,下面我將詳細介紹如何創(chuàng)建虛擬環(huán)境,如何激活虛擬環(huán)境,以及如何退出虛擬環(huán)境的操作步驟,需要的朋友可以參考下
    2024-03-03
  • Django models文件模型變更錯誤解決

    Django models文件模型變更錯誤解決

    這篇文章主要介紹了Django models文件模型變更錯誤解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • 總結(jié)Python變量的相關(guān)知識

    總結(jié)Python變量的相關(guān)知識

    今天給大家?guī)淼氖顷P(guān)于Python基礎(chǔ)的相關(guān)知識,文章圍繞著Python變量的相關(guān)知識展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Django關(guān)于admin的使用技巧和知識點

    Django關(guān)于admin的使用技巧和知識點

    在本篇文章里小編給大家整理的是關(guān)于Django的admin簡單使用的相關(guān)知識點內(nèi)容,需要的朋友們可以跟著學(xué)習(xí)下。
    2020-02-02
  • 源碼解析python中randint函數(shù)的效率缺陷

    源碼解析python中randint函數(shù)的效率缺陷

    這篇文章主要介紹了源碼解析python中randint函數(shù)的效率缺陷,通過討論?random?模塊的實現(xiàn),并討論了一些更為快速的生成偽隨機整數(shù)的替代方法展開主題,需要的盆友可以參考一下
    2022-06-06
  • Python如何讀取16進制byte數(shù)據(jù)

    Python如何讀取16進制byte數(shù)據(jù)

    這篇文章主要介紹了Python如何讀取16進制byte數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python endswith()函數(shù)的具體使用

    Python endswith()函數(shù)的具體使用

    本文主要介紹了Python endswith()函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評論

嘉善县| 台北市| 镇康县| 溧阳市| 炉霍县| 比如县| 甘泉县| 礼泉县| 仪陇县| 宜宾县| 凤凰县| 遵义市| 于都县| 福安市| 乌兰察布市| 黄梅县| 文成县| 遂昌县| 偏关县| 五华县| 伊川县| 泰兴市| 册亨县| 长春市| 全州县| 大同市| 封开县| 卢龙县| 扎囊县| 抚松县| 万源市| 衡水市| 东明县| 富平县| 虹口区| 砚山县| 定州市| 宁都县| 镇巴县| 东乡族自治县| 曲麻莱县|