Skip to content

Instantly share code, notes, and snippets.

@leixingyu
Last active December 5, 2021 23:53
Show Gist options
  • Save leixingyu/2d14eec59143c2b3622a2bb56375ffc0 to your computer and use it in GitHub Desktop.
Save leixingyu/2d14eec59143c2b3622a2bb56375ffc0 to your computer and use it in GitHub Desktop.
class MainUI(QtWidgets.QMainWindow):
def __init__(self, parent=getMainWindow()):
super(MainUI, self).__init__(parent)
list = ['apple', 'banana', 'pear']
dialog = CustomDialog()
dialog.setNamespaceCBox(list)
# only when self.accept() is returned
# need close event to return self.close()
if dialog.exec_():
print('accepted')
else:
print('not accepted')
text = dialog.getText()
option = dialog.getCombo()
print text, option
class CustomDialog(QtWidgets.QDialog):
def __init__(self, parent=None):
super(CustomDialog, self).__init__(parent)
# Create widgets
self.namespaceCBox = QtWidgets.QComboBox()
self.namespaceEdit = QtWidgets.QLineEdit()
self.acceptButton = QtWidgets.QPushButton("Confirm")
# Create layout and add widgets
layout = QtWidgets.QGridLayout()
layout.addWidget(self.namespaceCBox, 0, 0)
layout.addWidget(self.namespaceEdit, 0, 1)
layout.addWidget(self.acceptButton, 1, 1)
# Set dialog layout
self.setLayout(layout)
self.acceptButton.clicked.connect(self.onClickAccept)
def closeEvent(self):
self.close()
def onClickAccept(self):
self.accept()
def getNamespaceEdit(self):
return self.namespaceEdit.text()
def getNamespaceCBox(self):
return self.namespaceCBox.currentText()
def setNamespaceCBox(self, items):
self.namespaceCBox.addItems(items)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment