Python GTK:如何使它成为一个复选框,确定窗口是否打开

时间:2014-06-17 15:51:11

标签: python linux terminal gtk

在我的程序中,我有一个恼人的弹出窗口,提醒用户去检查设置。我有一个复选框,如果选中,则应该永远不会再显示弹出窗口。我不知道该怎么做。选中复选框后,我需要程序写入名为“true”的文本文件tog_file.txt。如果tog_file.txt中的文本为true,则弹出窗口将永远不会再显示。 代码:

def reminder():
    global tog
    tog = open("tog_file.txt", "r+b")
    tog_r = tog.read()
    if tog_r == "true":
        print "true"
    if tog_r == "":
        global reminder
        reminder = gtk.Window(gtk.WINDOW_TOPLEVEL)
        reminder.set_position(gtk.WIN_POS_CENTER)
        reminder.set_size_request(450, 205)
        reminder.set_title("Info")

        textbox = gtk.Label("Remember To Go Into The Settings Menu! There are Important Settings that Need to be Reviewed by you!")
        textbox.set_justify(gtk.JUSTIFY_CENTER) 
        textbox.set_line_wrap(True)   

        button = gtk.Button("Close")
        button.connect("clicked", reminder_close)

        toggle = gtk.CheckButton("Don't Show This Message Again")
        item_text = toggle.get_active()
        if item_text == False:
            print "no"
        if item_text == True:
            print "yea"
            tog.write("true")

        fixed = gtk.Fixed()
        fixed.put(button, 300, 160)
        fixed.put(toggle, 50, 165)
        fixed.put(textbox, 50, 50)

        reminder.add(fixed)
        reminder.show_all()

def reminder_close(self):
    reminder.destroy()

如果您需要任何其他信息,请发表评论。 谢谢StackOverflow:)

1 个答案:

答案 0 :(得分:0)

我认为你想要get_active()方法。检查button.get_active()=>布尔并相应地采取行动。您也可以将收音机bt连接到'toggle'信号,并在on_toggle函数中设置一个类变量,其状态为bt:if bt.get_active():self.ischeck=True else:self.ischeck = False或shor way:self.ischeck = True if bt.get_active() else False