Python 在PyQt中的给定QToolBar对象上迭代QAction项?
使用Python和PyQt4,给定一个具有任意数量的QToolBar对象的GUI,并且每个工具栏包含任意数量的QAction对象 我可以使用以下代码迭代ui并找到工具栏:Python 在PyQt中的给定QToolBar对象上迭代QAction项?,python,pyqt4,qaction,qtoolbar,Python,Pyqt4,Qaction,Qtoolbar,使用Python和PyQt4,给定一个具有任意数量的QToolBar对象的GUI,并且每个工具栏包含任意数量的QAction对象 我可以使用以下代码迭代ui并找到工具栏: for name, obj in inspect.getmembers(ui): if isinstance(obj, QToolBar): print "toolbar =",name 如何迭代每个工具栏对象并找到QAction对象。然后,我将阅读QActions以确定哪些是“已检查的”。我没有使用
for name, obj in inspect.getmembers(ui):
if isinstance(obj, QToolBar):
print "toolbar =",name
如何迭代每个工具栏对象并找到QAction对象。然后,我将阅读QActions以确定哪些是“已检查的”。我没有使用QActionGroups。给定一个QToolBar,您可以通过调用其方法找到其所有QAction: 返回此小部件操作的列表(可能为空) 例如:
if isinstance(obj, QToolBar):
print obj.actions()
给定QToolBar,您可以通过调用其方法找到其所有QAction: 返回此小部件操作的列表(可能为空) 例如:
if isinstance(obj, QToolBar):
print obj.actions()
如果工具栏是在Qt Designer中创建的,它们将成为主窗口(或任何顶级小部件)的子窗口 因此,您可以简单地执行以下操作:
for toolbar in mainwindow.findChildren(QToolBar):
print('toolbar: %s' % toolbar.objectName())
for action in toolbar.actions():
if not action.isSeparator():
print(' action: %s (%s)' % (action.text(), action.isChecked()))
如果工具栏是在Qt Designer中创建的,它们将成为主窗口(或任何顶级小部件)的子窗口 因此,您可以简单地执行以下操作:
for toolbar in mainwindow.findChildren(QToolBar):
print('toolbar: %s' % toolbar.objectName())
for action in toolbar.actions():
if not action.isSeparator():
print(' action: %s (%s)' % (action.text(), action.isChecked()))
谢谢明天我将测试这两个建议。哇!那太完美了。正是我需要的,然后是一些。谢谢,谢谢。。。明天我将测试这两个建议。哇!那太完美了。正是我需要的,然后是一些。谢谢