from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QVBoxLayout, QApplication app = QApplication([]) dialog = QDialog() dialog.setWindowTitle("Example") layout = QVBoxLayout() buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) layout.addWidget(buttonBox) dialog.setLayout(layout) if dialog.exec_() == QDialog.Accepted: print("Ok clicked") else: print("Cancel clicked")
from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QVBoxLayout, QLabel, QApplication app = QApplication([]) dialog = QDialog() dialog.setWindowTitle("Example") layout = QVBoxLayout() message = QLabel("Click a button below:") layout.addWidget(message) buttonBox = QDialogButtonBox() okButton = buttonBox.addButton("Ok", QDialogButtonBox.AcceptRole) cancelButton = buttonBox.addButton("Cancel", QDialogButtonBox.RejectRole) layout.addWidget(buttonBox) def handleButton(button): if button == okButton: print("Ok clicked") else: print("Cancel clicked") buttonBox.accepted.connect(lambda: handleButton(okButton)) buttonBox.rejected.connect(lambda: handleButton(cancelButton)) dialog.setLayout(layout) dialog.exec_()In this example, we create a QDialogButtonBox widget with no pre-defined button types. We then create our own "Ok" and "Cancel" buttons and add them to the button box. We also create a QLabel widget to display a message above the buttons. Finally, we create a handleButton function that outputs a message to the console depending on which button was clicked. We connect the accepted and rejected signals of the button box to call our handleButton function with the appropriate button passed as an argument.