from PySide import QtGui, QtCore
def listItems():
itemList = ("first","second","etc..")
return itemList
class tabDialog(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QDialog.__init__(self, parent)
tabWidget = QtGui.QTabWidget()
tabWidget.addTab(mainTab(), self.tr("Main"))
tabWidget.addTab(secondTab(), self.tr("Second "))
mainLayout = QtGui.QVBoxLayout()
mainLayout.addWidget(tabWidget)
self.setLayout(mainLayout)
class mainTab(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.createGroup = QtGui.QGroupBox(self.tr("Add Item to list"))
self.fileNameEdit = QtGui.QLineEdit(self)
self.fileNameEdit.setPlaceholderText("new item")
self.createButton = QtGui.QPushButton('add',self)
#self.createButton.clicked.connect(self.additemToList)
self.createLayout = QtGui.QGridLayout()
self.createLayout.addWidget(self.fileNameEdit,1,2)
self.createLayout.addWidget(self.createButton,1,3)
self.setLayout(self.createLayout)
self.createGroup.setLayout(self.createLayout)
self.addGroup = QtGui.QGroupBox(self.tr("list items"))
self.projectLabel = QtGui.QLabel(self.tr("item : "))
self.projectListCombo = QtGui.QComboBox(self)
self.projectListCombo.addItems(listItems())
self.addLayout = QtGui.QHBoxLayout()
self.addLayout.addWidget(self.projectLabel)
self.addLayout.addWidget(self.projectListCombo)
self.addGroup.setLayout(self.addLayout)
self.mainLayout = QtGui.QVBoxLayout()
self.mainLayout.addWidget(self.createGroup)
self.mainLayout.addWidget(self.addGroup)
self.setLayout(self.mainLayout)
class secondTab(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.initUI()
def initUI(self):
self.addGroup = QtGui.QGroupBox(self.tr("list items"))
self.projectLabel = QtGui.QLabel(self.tr("item : "))
self.projectListCombo = QtGui.QComboBox(self)
self.projectListCombo.addItems(listItems())
self.addLayout = QtGui.QHBoxLayout()
self.addLayout.addWidget(self.projectLabel)
self.addLayout.addWidget(self.projectListCombo)
self.addGroup.setLayout(self.addLayout)
self.mainLayout = QtGui.QVBoxLayout()
self.mainLayout.addWidget(self.addGroup)
self.setLayout(self.mainLayout)
tabdialog = tabDialog()
tabdialog.show()
有两个选项卡。第一个选项卡是行文本,按钮是添加项目和组合框,在第二个选项卡只是组合框。 两个组合框包含相同的列表项。 如果添加项目到列表,需要刷新两个组合框
您可以使用QComboBox::addItem:
我做了以下更改:
tabDialog
中的{secondTab
是实例属性mainTab
和secondTab
获取tabDialog
作为父级tabDialog
中添加了additemToList
mainTab.__init__()
:self.createButton.clicked.connect(parent.additemToList)
相关问题 更多 >
编程相关推荐