我做了一个包含单选按钮的向导。单击“完成”按钮时,应返回选中为文本的单选按钮列表!你知道吗
输入(为了可读性,它是虚拟输入)
data=[['a','b','c'],['e','f'],['g','f']]
data1 = ['one','two','three']
这是我的代码
from PyQt4 import QtGui, QtCore
def page3arg(x, n):
page = QtGui.QWizardPage()
page.setTitle("{}".format(x))
page.setSubTitle("Please choose one of these state.")
rd1 = QtGui.QRadioButton(page)
rd2 = QtGui.QRadioButton(page)
rd3 = QtGui.QRadioButton(page)
layout = QtGui.QGridLayout()
layout.addWidget(rd1, 2, 0)
layout.addWidget(rd2, 2, 1)
layout.addWidget(rd3, 2, 2)
rd1.setText(' {}'.format(n[0]))
rd2.setText(' {}'.format(n[1]))
rd3.setText(' {}'.format(n[2]))
page.setLayout(layout)
return page
def page2arg(x, n):
page = QtGui.QWizardPage()
page.setTitle("{}".format(x))
page.setSubTitle("Please choose one of these state.")
rd1 = QtGui.QRadioButton(page)
rd2 = QtGui.QRadioButton(page)
layout = QtGui.QGridLayout()
layout.addWidget(rd1, 2, 0)
layout.addWidget(rd2, 2, 1)
rd1.setText(' {}'.format(n[0]))
rd2.setText(' {} .'.format(n[1]))
page.setLayout(layout)
return page
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
wizard = QtGui.QWizard()
wizard.setStyleSheet(("font:50 10pt \"MS Shell Dlg 2\";"))
for m in range(len(data1) - 1):
x = data1[m]
n= data[m]
if len(n) == 3:
page3 = page3arg(x, n)
wizard.addPage(page3)
elif len(n) == 2:
page2 = page2arg(x, n)
wizard.addPage(page2)
wizard.show()
sys.exit(wizard.exec_())
我如何写一个函数,将获得单选按钮的选择在最后作为列表。你知道吗
单选按钮选择列表应如下所示:
output = ['a','e','g']
如果希望选中单选按钮,那么一个简单的解决方案是将它与每个页面的QButtonGroup关联,并使用checkedButton()函数选中该选项。要知道何时按下finish按钮,必须使用QWizard的button()函数并将其连接到插槽。你知道吗
也不必有两个函数与page3arg和page2arg相同,我将其简化为n个参数的广义函数
尝试将所有单选按钮放在一个列表中,对于列表中的每个单选按钮,获取其文本并将其插入到输出列表中。 例如
相关问题 更多 >
编程相关推荐