【发布时间】:2017-06-11 09:10:41
【问题描述】:
下面的代码创建了一个包含三行小部件的对话框窗口:
一个组合,lineEdit 和 dateEdit。当 combobox 显示“显示 LineEdit”时,我希望 lineEdit 可见,dateEdit 隐藏。 When "Show DateEdit" is selected I would like to hide LineEdit and show DateEdit instead.如何实现?
from PyQt4 import QtCore, QtGui
app = QtGui.QApplication([])
class Dialog(QtGui.QDialog):
def __init__(self, parent=None):
super(Dialog, self).__init__(parent)
self.setLayout(QtGui.QVBoxLayout())
for i in range(3):
row = QtGui.QHBoxLayout()
combo = QtGui.QComboBox()
combo.addItems(['Show LineEdit','Show DateEdit'])
combo.activated.connect(self.activated)
row.addWidget(combo)
self.lineEdit = QtGui.QLineEdit()
self.dateEdit = QtGui.QDateEdit()
self.dateEdit.setVisible(False)
row.addWidget(self.lineEdit)
row.addWidget(self.dateEdit)
self.layout().insertLayout(i, row)
def activated(self):
print self.sender()
panel=Dialog()
panel.show()
app.exec_()
【问题讨论】:
标签: python pyqt qcombobox qdialog