Я хочу создать собственный немодальный класс диалога с меткой и QDialogButtonBox.Я посмотрел несколько публикаций, но ни одна из них не показалась мне действительно актуальной.Мой код ниже.Два вопроса: 1. Почему класс диалога ничего не отображает?2. Правильно ли выглядят соединения для QDialogButtonBox?
Буду признателен за любую помощь.Спасибо!
from PyQt5.QtWidgets import *
class Window(QWidget):
def __init__(self):
QWidget.__init__(self)
cb = QCheckBox('Check me anytime', self)
cb.move(20, 20)
button = QPushButton('Open Dialog', self)
button.move(20,50)
self.resize(120, 90)
button.clicked.connect(self.showDialog)
def showDialog(self):
self.dialog = ModelessDialog(self)
self.dialog.show()
class ModelessDialog(QDialog):
def __init__(self, parent=None):
super().__init__(parent)
layout = QVBoxLayout()
lbl = QLabel("please show something ...")
buttonBox = QDialogButtonBox(
QDialogButtonBox.Cancel|QDialogButtonBox.Apply)
layout.addWidget(lbl)
layout.addWidget(buttonBox)
self.resize(300, 200)
applyBtn = buttonBox.button(QDialogButtonBox.Apply)
applyBtn.clicked.connect(self.apply)
cancelBtn = buttonBox.button(QDialogButtonBox.Cancel)
cancelBtn.clicked.connect(ModelessDialog.reject)
self.setWindowTitle("Modeless")
def apply(self):
print("ModelessDialog: in apply")
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
win = Window()
win.show()
sys.exit(app.exec_())