【发布时间】:2017-09-01 04:54:32
【问题描述】:
在下面的示例中,我尝试将两个单独的组合框的选择用作函数的两个参数。如果选择 3 和 4,则应产生 12 的输出,依此类推。如何编写此代码以将第一个组合选择作为第一个参数发送,将第二个组合选择作为第二个参数发送?
目前,两个连接都返回“multiply() 恰好需要 2 个参数(1 个给定)”错误,因为这两个组合框不是同时而是分别连接到函数。
from PyQt4 import QtCore, QtGui
class Ui_MainWindow(QtGui.QMainWindow):
def setupUi(self):
window = QtGui.QMainWindow(self)
window.table = QtGui.QTableWidget()
window.table.setRowCount(2)
window.table.setColumnCount(1)
window.setCentralWidget(window.table)
def multiply(x, y):
return x * y
combo_x = QtGui.QComboBox()
combo_y = QtGui.QComboBox()
for i in range(1, 10):
combo_x.addItem(str(i))
combo_y.addItem(str(i))
combo_x.activated[int].connect(multiply)
combo_y.activated[int].connect(multiply)
window.table.setCellWidget(0, 0, combo_x)
window.table.setCellWidget(1, 0, combo_y)
desired = []
for x in range(1, 10):
for y in range(1, 10):
desired.append(multiply(x, y))
window.show()
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
ui = Ui_MainWindow()
ui.setupUi()
sys.exit(app.exec_())
【问题讨论】:
标签: python combobox pyqt pyqt4 qcombobox