亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Tkinter 通過檢查檢查按鈕來運行多個功能

Tkinter 通過檢查檢查按鈕來運行多個功能

拉風的咖菲貓 2023-07-18 09:49:56
我正在構建一個腳本來制作一個 GUI 窗口,展示我之前制作的一些功能。我想勾選我想要運行功能的按鈕。到目前為止,我可以通過選中復選框來運行函數。但只有一個。button1 = ttk.Checkbutton(window,    command = function1    )但我有幾個檢查按鈕,最后有“運行”按鈕來運行上面檢查的所有功能。button1 = ttk.Checkbutton(window,    )button2 = ttk.Checkbutton(window,    )button3 = ttk.Checkbutton(window,    )run_button = ttk.Button(window,    text = 'run',    command = proper command to run the functions ticked above    )有什么辦法可以實現嗎?另外,我想在點擊運行按鈕后關閉 GUI 窗口,但還找不到解決方案。提前致謝??!
查看完整描述

1 回答

?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

請檢查此代碼片段,它執行硬編碼的加、減、乘、刪除函數。

  1. 當您勾選復選框時,就會觸發相應的功能。

  2. 當您單擊運行按鈕時,將觸發所有功能。

  3. 單擊運行按鈕后,將打印輸出并且 tkinter 窗口將關閉。

from tkinter import *

master = Tk()


def run_all():

    var1.set(1)

    var2.set(1)

    var3.set(1)

    var4.set(1)

    ad()

    sub()

    mul()

    div()

    master.destroy()


def ad():

    if(var1.get()==1):

        print(5+5)

def sub():

    if(var2.get()==1):

        print(5-5)

def mul():

    if(var3.get()==1):

        print(5*5)

def div():

    if(var4.get()==1):

        print(5/5)

Label(master, text="Operations:").grid(row=0, sticky=W)

var1 = IntVar()

Checkbutton(master, text="Add", variable=var1,command=ad).grid(row=1, sticky=W)

var2 = IntVar()

Checkbutton(master, text="Subtract", variable=var2,command=sub).grid(row=2, sticky=W)

var3 = IntVar()

Checkbutton(master, text="Multiply", variable=var3,command=mul).grid(row=3, sticky=W)

var4 = IntVar()

Checkbutton(master, text="Divide", variable=var4,command=div).grid(row=4, sticky=W)

Button(master, text='Run', command=run_all).grid(row=5, sticky=W, pady=4)

mainloop()

編輯: 根據評論,現在所有功能只有在按下運行按鈕時才會運行


Label(master, text="Operations:").grid(row=0, sticky=W)

var1 = IntVar()

Checkbutton(master, text="Add", variable=var1).grid(row=1, sticky=W)

var2 = IntVar()

Checkbutton(master, text="Subtract", variable=var2).grid(row=2, sticky=W)

var3 = IntVar()

Checkbutton(master, text="Multiply", variable=var3).grid(row=3, sticky=W)

var4 = IntVar()

Checkbutton(master, text="Divide", variable=var4).grid(row=4, sticky=W)

Button(master, text='Run', command=run_all).grid(row=5, sticky=W, pady=4)

mainloop()


查看完整回答
反對 回復 2023-07-18
  • 1 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號