[英]How do i use an 'if' on a checkbutton in tkinter. (python 3.8)
我創建了一個名為btn3
的新按鈕,用於執行命令checkbox1
。但是“if”命令需要知道 checkbutton 的狀態。 你是怎樣做的。 它說沒有稱為 onvalue 的屬性。 我檢查了與此類似的其他 stackoverflow 問題,但它們沒有回答我的問題或不起作用。
from tkinter import *
import tkinter.messagebox
window = Tk()
window.title("Anti Bullying App")
window.geometry("555x100")
def checkbox1():
if c1.onvalue == 1:
tkinter.messagebox.showinfo("Error", "Report It!", icon = "warning")
ayb = Label(window, text = " Are you being bullied? ", font = "Ariel 20 bold")
ayb.grid()
var1 = IntVar()
var2 = IntVar()
c1 = Checkbutton(window, text='Yes', font = "10",variable=var1, onvalue=1, offvalue=0)
c1.grid()
c2 = Checkbutton(window, text='No', font = "10",variable=var2, onvalue=1, offvalue=0)
c2.grid(row = 1, column = 2)
btn3 = Button(window, text = "submit", command = checkbox1)
您可以在這里做一些事情,但最有可能的選擇是在您的IntVar()
上使用get()
IntVar()
。
不過,您需要做一些清理工作。
看看下面的內容,如果您有任何問題,請告訴我。 我已經清理了您的代碼以更緊密地遵循 PEP8 並添加了一些幾何配置以平衡事物,因此您無需在標簽中添加一堆空格。
import tkinter as tk
import tkinter.messagebox
root = tk.Tk()
root.columnconfigure(0, weight=1)
root.columnconfigure(1, weight=1)
root.title('Anti Bullying App')
root.geometry('555x100')
def checkbox1():
if var1.get() == 1:
tkinter.messagebox.showinfo('Error', 'Report It!', icon='warning')
tk.Label(root, text='Are you being bullied?', font='Ariel 20 bold').grid(row=0, column=0, columnspan=2, sticky='ew')
var1 = tk.IntVar(root, value=0)
var2 = tk.IntVar(root, value=0)
tk.Checkbutton(root, text='Yes', font='10', variable=var1, onvalue=1, offvalue=0).grid(row=1, column=0, sticky='ew')
tk.Checkbutton(root, text='No', font='10', variable=var2, onvalue=1, offvalue=0).grid(row=1, column=1, sticky='ew')
tk.Button(root, text="Submit", command=checkbox1).grid(row=2, column=0, columnspan=2)
root.mainloop()
結果:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.