关于按钮的简单 Python Tkinter 问题

0 投票
2 回答
1392 浏览
提问于 2025-04-16 03:33

有没有人能给我一些示例代码?我对Python还算熟悉,但这个问题我搞不定。我会从其他代码生成一个包含“x”个元素的列表。我需要用Tkinter来显示“x”个按钮,这些按钮可以被选中或取消选中。然后,一旦用户选择了他们想要的按钮,就可以按下“GO”按钮,接下来会有更多的代码只针对那些被选中的列表项执行。简单来说,我就是想通过Tkinter的复选按钮来把某些东西设为真或假(或者说1或0)。如果有人能教我怎么用类来实现这个,我会非常感激。谢谢!!

2 个回答

0

制作一个漂亮的切换按钮

import Tkinter


class TkToggle(Tkinter.Tk):
    def __init__(self, parent):
        Tkinter.Tk.__init__(self, parent)
        self.parent = parent
        self.initialize()

    def initialize(self):
        global toggle
        toggle = 0

        self.Button = Tkinter.Label(self, text='X', relief='ridge')
        self.Button.pack(ipadx=15,ipady=15)
        self.Button.bind('<ButtonRelease-1>', self.Toggle)

    def Toggle (self, event):
        global toggle

        if toggle == 0:
            toggle = 1
            self.Button.configure(text = '')
            print 'A'

        else:
            toggle = 0
            self.Button.configure(text = 'X')
            print 'B'

if __name__ == "__main__":
    app = TkToggle(None)
    app.mainloop()
2
import Tkinter as tk

def printVar():
    print 'var is', var.get()

root = tk.Tk()
var = tk.IntVar()
c = tk.Checkbutton(root, text='Check me', variable=var, command=printVar)
c.pack()
root.mainloop()

去看看 Python维基上的Tkinter页面

编辑

import Tkinter as tk

def printOpts():
    for opt, val in zip(options, checkboxes):
        print opt + ': ' + str(bool(val.get()))

options = ['eggs', 'apples', 'pears']
checkboxes = []

root = tk.Tk()
for opt in options:
    v = tk.IntVar()
    checkboxes.append(v)
    c = tk.Checkbutton(root, text=opt, variable=v)
    c.pack()

btn = tk.Button(root, text='Print options', command=printOpts)
btn.pack()
root.mainloop()

撰写回答