自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python 升級之路( Lv20 ) GUI 圖形界面編程之高級組件

開發(fā)
今天我們將深入學習 GUI 圖形界面編程 tkinter, 了解高級組件的使用方式。

大家好, 我是了不起, 歡迎收看我的冒險之旅!

今天我們將深入學習GUI圖形界面編程tkinter, 了解高級組件的使用方式。

tkinter高級組件

在GBK外圍住所中, 奧菲利亞向我們解釋到了. 最初整個地區(qū)都相安無事, 但是自從某天馬塞爾大叔在天帷禁地發(fā)狂之后, 像瘟疫一般的病毒便散播開來. 到最后, 幾乎除了現(xiàn)任教主奧菲利亞, 他人無人幸免. 于是, 在奧菲利亞的再次請求下, 了不起慎重思考后決定前往天帷禁地查明原因. 導師GSC嗅到了一絲不安的情況, 打算現(xiàn)在阿拉德尋找一些朋友來幫忙. 于是了不起當下就和GSC分道揚鑣...

OptionMenu 選擇項

OptionMenu(選擇項, 類似前端多選框)用來做多選一,選中的項在頂部顯示。顯示效果如下:

實操代碼:

from tkinter import Tk, StringVar, OptionMenu, Button

root = Tk()
root.geometry("200x100")
v = StringVar(root)
v.set("首選項")
"""下拉列表選項框"""
om = OptionMenu(root, v, "第二選項", "第三選項", "第四選項")
om["width"] = 10
om.pack()

def test1():
    print("您的選擇是:", v.get())
    v.set("新設(shè)置的首選項")      # 直接修改了 optionmenu 中選中的值


Button(root, text="確定", command=test1).pack()
root.mainloop()

結(jié)果展示:

Scale 移動滑塊

Scale(移動滑塊)用于在指定的數(shù)值區(qū)間,通過滑塊的移動來選擇值。

實操代碼:

"""
scale 滑塊的使用測試
【示例】使用 Scale(移動滑塊)控制字體大小變化
"""
from tkinter import *

root = Tk()
root.geometry("400x150")


def test1(value):
    print("滑塊的值:", value)
    newFont = ("宋體", value)
    a.config(font=newFont)      # 這里將滑塊的值, 附入標簽中


s1 = Scale(root, from_=10, to=50, length=200, tickinterval=5, orient=HORIZONTAL, command=test1)
s1.pack()

a = Label(root, text="測試滑塊", width=10, height=1, bg="black", fg="white")
a.pack()


root.mainloop()

結(jié)果展示:

顏色選擇框

實操代碼:

from tkinter import Tk, StringVar, OptionMenu, Button
from tkinter.colorchooser import askcolor

print("======================================")
root = Tk()
root.geometry("400x150")


def test1():
    s1 = askcolor(color="red", title="選擇背景色")
    print(s1)  # s1 的值是:((0.0, 0.0, 255.99609375), '#0000ff')
    root.config(bg=s1[1])       # 這里, 將父組件的顏色設(shè)置成button按鈕點擊后顏色選擇框的值,


Button(root, text="選擇背景色", command=test1).pack()
root.mainloop()

結(jié)果展示:

文件對話框

文件對話框幫助我們實現(xiàn)可視化的操作目錄、操作文件.   將文件、目錄的信息傳入到程序中。

文件對話框包含如下一些常用函數(shù):

命名參數(shù) options 的常見值如下:

實操代碼——文件對話框基本用法:

"""文件對話框獲取文件"""
from tkinter import *
from tkinter.filedialog import *

root = Tk()
root.geometry("400x100")


def test1():
    f = askopenfilename(title="上傳文件", initialdir="f:/file", filetypes=[("視頻文件", ".mp4")])     # askopenfilename(**options)  返回打開的文件名
    # print(f)
    show["text"] = f        # 這里label將顯示選擇的視頻文件名稱


Button(root, text="選擇編輯的視頻文件", command=test1).pack()
show = Label(root, width=40, height=3, bg="green")
show.pack()
root.mainloop()

結(jié)果展示:

簡單輸入對話框

simpledialog(簡單對話框)包含如下常用函數(shù):

實操代碼:

"""簡單對話框"""
from tkinter.simpledialog import *

root = Tk()
root.geometry("400x100")


def test1():
    a = askinteger(title="輸入年齡", prompt="請輸入年齡 ", initialvalue=18, minvalue=1,
                   maxvalue=150)  # askstring、askfloat 框使用方式一樣
    show["text"] = a


Button(root, text="你有多大了? 請點擊后輸入", command=test1).pack()
show = Label(root, width=40, height=3, bg="green")
show.pack()

root.mainloop()

結(jié)果展示:

通用消息框

messagebox(通用消息框)用于和用戶簡單的交互,用戶點擊確定、取消。

如下列出了 messagebox 的常見函數(shù):

函數(shù)

說明

askokcancel(title,message,**opt ions)

OK/Cancel 對話框

askquestion(title,message,**opt ions)

Yes/No 問題對話框

askretrycancel(title,message,** options)

Retry/Cancel問題對話框

showerror(title,message,**optio ns)

錯誤消息對話框

showinfo(title,message,**option s)

消息框

showwarning(title,message,**opt ions)

警告消息框

實操代碼:

from tkinter import *
from tkinter.messagebox import *

root = Tk()
root.geometry("400x100")

a1 = showinfo(title="測試通用消息框", message="點擊出現(xiàn)通用消息框")
print(a1)

root.mainloop()

結(jié)果展示:

ttk 子模塊控件

前面學的組件是 tkinter 模塊下的組件,整體界面風格較老舊。為了彌補這點不足, 推出了 ttk 組件ttk 組件更加美觀、功能更加強大,  新增了 LabeledScale(帶標簽的 Scale)、Notebook(多文檔窗口)、Progressbar(進度條)、Treeview(樹)等組件.  使用 ttk 組件與使用普通的 Tkinter 組件并沒有多大的區(qū)別,只要導入 ttk 模塊即可

注意事項:

  • ttk 子模塊的官方文檔: https://docs.python.org/3.7/library/tkinter.ttk.html
  • 如果項目確實需要用到復雜的界面,推薦大家使用 wxpython 或者 pyQt.
責任編輯:趙寧寧 來源: Python技術(shù)
相關(guān)推薦

2025-02-24 10:17:48

2025-02-18 08:30:00

GUIPythontkinter

2024-12-23 16:00:00

GUI編程tkinter

2025-01-20 13:19:02

2025-03-18 07:30:00

編程并發(fā)Python

2022-01-26 00:02:00

PythonGUI界面

2021-06-27 17:12:27

PythonGUI圖形界面

2012-04-28 10:25:11

JavaSwing

2012-04-24 09:40:42

SwingJava

2012-04-27 15:21:45

JavaSwing

2015-05-04 14:51:49

SQL子查詢

2021-11-08 08:14:50

Python圖形界面框架

2025-03-24 10:06:35

2011-07-28 17:40:04

MySQLMySQL Workb

2012-04-19 13:21:02

Javaswing

2025-03-04 07:40:00

Python模塊開發(fā)

2025-03-03 10:16:04

2010-03-05 13:42:03

Ubuntu圖形界面

2009-05-26 15:22:14

Linux圖形備份

2011-02-22 18:09:08

點贊
收藏

51CTO技術(shù)棧公眾號