PyQt5. Диалоговое окно

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class Example(QMainWindow):
    def __init__(self):
        super().__init__()
        self.show()
        self.b = QDialogButtonBox(QDialogButtonBox.Discard | QDialogButtonBox.Cancel | QDialogButtonBox.Yes)
        self.b.show()
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

Что нужно добавить/изменить в этом коде, чтобы диалоговое окно правильно отображалось(нельзя было изменить его размер и т. п.)


Ответы (1 шт):

Автор решения: n1tr0xs

Вам нужно добавить эти строки в __init__:

size = self.b.size()
self.b.setMinimumSize(size)
self.b.setMaximumSize(size)

Должно получиться так:

def __init__(self):
    super().__init__()
    self.show()
    self.b = QDialogButtonBox(QDialogButtonBox.Discard | QDialogButtonBox.Cancel | QDialogButtonBox.Yes)
    self.b.show()

    size = self.b.size()
    self.b.setMinimumSize(size)
    self.b.setMaximumSize(size)

UPD1:

def __init__(self):
    super().__init__()
    self.show()
    self.b = QDialogButtonBox(QDialogButtonBox.Discard | QDialogButtonBox.Cancel | QDialogButtonBox.Yes)
    self.b.setWindowFlags(Qt.CustomizeWindowHint| Qt.WindowCloseButtonHint)
    self.b.show()

    size = self.b.size()
    self.b.setMinimumSize(size)
    self.b.setMaximumSize(size)
→ Ссылка