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)