欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

Tkinter 常用組件

按鈕

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

文本輸組件

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

標(biāo)簽組件

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

菜單

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

滾動條

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

其他組件 Canvas 畫布組件

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

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

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

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

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

控制組件的擺放方式

三種布局:

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

pack布局

  • 最簡單,代碼量最少,挨個擺放,默認(rèn)從上到下,系統(tǒng)自動設(shè)置
  • 通用實用方式為:組件對象.pack(設(shè)置......)
  • side:停靠方位,可選值為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)建總面板
# 負(fù)責(zé)標(biāo)題
base.wm_title("Label Test")            # 創(chuàng)建面板的標(biāo)題
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)建一個彈窗,里面生成一個按鈕,當(dā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ù),不填默認(rèn)不執(zhí)行
  btn.pack()
  baseFrame.mainloop()

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

pack布局

  • 最簡單,代碼量最少,挨個擺放,默認(rèn)從上到下,系統(tǒng)自動設(shè)置
  • 通用實用方式為:組件對象.pack(設(shè)置......)
  • side:??糠轿?,可選值為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 命令行傳入?yún)?shù)實現(xiàn)解析

    python 命令行傳入?yún)?shù)實現(xiàn)解析

    這篇文章主要介紹了python 命令行傳入?yún)?shù)實現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Python  中的pass語句語法詳析

    Python  中的pass語句語法詳析

    這篇文章主要介紹了Python 中的pass語句語法詳析,pass是一種空操作(null operation),解釋器執(zhí)行到它的時候,除了檢查語法是否合法,什么也不做就直接跳過
    2022-07-07
  • 解決Django提交表單報錯:CSRF token missing or incorrect的問題

    解決Django提交表單報錯:CSRF token missing or incorrect的問題

    這篇文章主要介紹了解決Django提交表單報錯:CSRF token missing or incorrect的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python讀取視頻流提取視頻幀的兩種方法

    python讀取視頻流提取視頻幀的兩種方法

    這篇文章主要為大家詳細(xì)介紹了python讀取視頻流提取視頻幀的兩種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • wxPython實現(xiàn)列表增刪改查功能

    wxPython實現(xiàn)列表增刪改查功能

    這篇文章主要為大家詳細(xì)介紹了wxPython實現(xiàn)列表增刪改查功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • pandas返回缺失值位置的方法實例教程

    pandas返回缺失值位置的方法實例教程

    當(dāng)我們用python進(jìn)行數(shù)據(jù)處理時會遇到很多缺失值,缺失值一般是由于我們所處理的數(shù)據(jù)本身的特性、當(dāng)初錄入的失誤或者其它原因?qū)е碌?下面這篇文章主要給大家介紹了關(guān)于pandas返回缺失值位置的方法,需要的朋友可以參考下
    2022-01-01
  • python sort、sorted高級排序技巧分享(key的使用)

    python sort、sorted高級排序技巧分享(key的使用)

    這篇文章主要介紹了python sort、sorted高級排序技巧(key的使用),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • opencv+playwright滑動驗證碼的實現(xiàn)

    opencv+playwright滑動驗證碼的實現(xiàn)

    滑動驗證碼是常見的驗證碼之一,本文主要介紹了opencv+playwright滑動驗證碼的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • Python生成指定數(shù)量的優(yōu)惠碼實操內(nèi)容

    Python生成指定數(shù)量的優(yōu)惠碼實操內(nèi)容

    在本篇文章里小編給大家整理了關(guān)于Python生成指定數(shù)量的優(yōu)惠碼的實例內(nèi)容以及相關(guān)代碼,有需要的朋友們學(xué)習(xí)下。
    2019-06-06
  • Python程序打包exe報錯的幾種解決方法

    Python程序打包exe報錯的幾種解決方法

    本文主要介紹了Python程序打包exe報錯的幾種解決方法,文中通過幾種解決方法的介紹非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2023-08-08

最新評論