如何设置可检查的菜单设置(真或假)?如果是真的,那就做点什么

时间:2019-08-07 16:57:57

标签: python pyqt5

我用pyqt5自动编译器制作了一个简单的ui,一切正常,但是我需要自动执行脚本,自动执行了,但是我将其实现为设置菜单中的激活/禁用按钮(QAction设置为checkable)。 我想给他设置一个状态(T或F),如果按下则返回布尔值

我在Windows上

with open("./startup.txt", "r")as f:
    f_contents= f.readline()
    startupis=bool(f_contents)
..some code....
self.actionRun_at_startup.triggered.connect(self.runatstartup)
self.actionRun_at_startup.setCheckable(startupis)

def runatstartup (self, checked):
   if(startupis==True):
        ....
   else:
      ....
   ....some code...

1 个答案:

答案 0 :(得分:0)

不清楚是希望用户触发布尔状态还是仅保留该值。

在第一种情况下,这将返回复选框的 new 值(如果为False,则在触发后将返回True,反之亦然):< / p>

self.actionRun_at_startup.setCheckable(True)
self.actionRun_at_startup.setChecked(startupis)

如果要保留变量,请使用QAction.setData()

    # ...
    self.actionRun_at_startup.setData(startupis)
    # ...

def runatstartup(self):
    if self.actionRun_at_startup.data() == True:
        # ...