Dialogを自分で実装するときのポイント
- QDialogを継承する
- ボタン表示にはQDialogButtonBoxを使う
こんなかんじ
from PySide import QtCore, QtGui import sys class CustomDialog(QtGui.QDialog): def __init__(self): super().__init__() self._buttons = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Cancel) self._buttons.accepted.connect(self.accept) self._buttons.rejected.connect(self.reject) mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(self._buttons) self.setLayout(mainLayout) self.setWindowTitle('Custom Dialog') app = QtGui.QApplication(sys.argv) mainwindow = QtGui.QMainWindow() mainwindow.show() dialog = CustomDialog() if QtGui.QDialog.Accepted == dialog.exec_(): QtGui.QMessageBox.information(None, 'Info', 'accepted!', QtGui.QMessageBox.Ok) else: QtGui.QMessageBox.critical(None, 'Info', 'rejected!', QtGui.QMessageBox.Ok)