Я создал приложение GUI, используя PyQt5 Designer. У меня проблемы, когда я пытаюсь получить доступ к этому gui в более низком разрешении. Я искал разные темы на inte rnet, но у меня ничего не получалось. Я публикую минимальный код и фрагменты того, как GUI реагирует на различное разрешение.
Я также пытался использовать сетку, но с групповым блоком вокруг его не совсем выполнимого варианта. Есть ли другой способ исправить это?
Фрагмент при открытии в 1366X768: ![](https://i.stack.imgur.com/hx5gw.png)
Фрагмент при открытии в 1920X1080: ![](https://i.stack.imgur.com/2GWnH.png)
Код, сгенерированный UI Designer:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_mainwindow(object):
def setupUi(self, mainwindow):
mainwindow.setObjectName("mainwindow")
mainwindow.resize(1913, 994)
mainwindow.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
mainwindow.setWindowTitle("")
self.centralwidget = QtWidgets.QWidget(mainwindow)
self.centralwidget.setObjectName("centralwidget")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget)
self.horizontalLayout.setObjectName("horizontalLayout")
self.frame = QtWidgets.QFrame(self.centralwidget)
self.frame.setEnabled(True)
self.frame.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
self.frame.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
self.frame.setAutoFillBackground(False)
self.frame.setStyleSheet("QFrame{\n"
"background-color: rgb(255, 255, 255);\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"QGroupBox{\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"QPushButton{\n"
"color: rgb(0, 0, 0);\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"QLineEdit{\n"
" font: 10pt \"Segoe UI\";\n"
" color: rgb(0, 0, 0);\n"
"}\n"
"QComboBox{\n"
" font: 10pt \"Segoe UI\";\n"
"}\n"
"QTableWidget{\n"
" font: 10pt \"Segoe UI\";\n"
"}")
self.frame.setFrameShape(QtWidgets.QFrame.Box)
self.frame.setFrameShadow(QtWidgets.QFrame.Plain)
self.frame.setLineWidth(1)
self.frame.setObjectName("frame")
self.groupBox = QtWidgets.QGroupBox(self.frame)
self.groupBox.setGeometry(QtCore.QRect(10, 10, 191, 51))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.groupBox.setFont(font)
self.groupBox.setObjectName("groupBox")
self.combo = QtWidgets.QComboBox(self.groupBox)
self.combo.setGeometry(QtCore.QRect(10, 20, 171, 21))
self.combo.setObjectName("combo")
self.groupBox_3 = QtWidgets.QGroupBox(self.frame)
self.groupBox_3.setGeometry(QtCore.QRect(10, 450, 191, 501))
self.groupBox_3.setTitle("")
self.groupBox_3.setObjectName("groupBox_3")
self.pb7 = QtWidgets.QPushButton(self.groupBox_3)
self.pb7.setGeometry(QtCore.QRect(10, 350, 171, 31))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.pb7.setFont(font)
self.pb7.setObjectName("pb7")
self.pb8 = QtWidgets.QPushButton(self.groupBox_3)
self.pb8.setGeometry(QtCore.QRect(10, 390, 171, 31))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.pb8.setFont(font)
self.pb8.setObjectName("pb8")
self.pb9 = QtWidgets.QPushButton(self.groupBox_3)
self.pb9.setGeometry(QtCore.QRect(10, 430, 171, 31))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.pb9.setFont(font)
self.pb9.setObjectName("pb9")
self.pb6 = QtWidgets.QPushButton(self.groupBox_3)
self.pb6.setGeometry(QtCore.QRect(10, 310, 171, 31))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.pb6.setFont(font)
self.pb6.setObjectName("pb6")
self.pbOutputFolder = QtWidgets.QPushButton(self.groupBox_3)
self.pbOutputFolder.setGeometry(QtCore.QRect(10, 150, 171, 31))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.pbOutputFolder.setFont(font)
self.pbOutputFolder.setObjectName("pbOutputFolder")
self.pb10 = QtWidgets.QPushButton(self.groupBox_3)
self.pb10.setGeometry(QtCore.QRect(10, 470, 171, 31))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.pb10.setFont(font)
self.pb10.setObjectName("pb10")
self.pb5 = QtWidgets.QPushButton(self.groupBox_3)
self.pb5.setGeometry(QtCore.QRect(10, 270, 171, 31))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.pb5.setFont(font)
self.pb5.setObjectName("pb5")
self.OutputFlagsTable = QtWidgets.QTableWidget(self.groupBox_3)
self.OutputFlagsTable.setGeometry(QtCore.QRect(10, 10, 171, 131))
self.OutputFlagsTable.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.OutputFlagsTable.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.OutputFlagsTable.setAlternatingRowColors(True)
self.OutputFlagsTable.setRowCount(5)
self.OutputFlagsTable.setColumnCount(2)
self.OutputFlagsTable.setObjectName("OutputFlagsTable")
item = QtWidgets.QTableWidgetItem()
self.OutputFlagsTable.setItem(0, 1, item)
item = QtWidgets.QTableWidgetItem()
self.OutputFlagsTable.setItem(1, 0, item)
item = QtWidgets.QTableWidgetItem()
self.OutputFlagsTable.setItem(1, 1, item)
item = QtWidgets.QTableWidgetItem()
self.OutputFlagsTable.setItem(2, 0, item)
item = QtWidgets.QTableWidgetItem()
self.OutputFlagsTable.setItem(2, 1, item)
item = QtWidgets.QTableWidgetItem()
self.OutputFlagsTable.setItem(3, 0, item)
item = QtWidgets.QTableWidgetItem()
self.OutputFlagsTable.setItem(3, 1, item)
item = QtWidgets.QTableWidgetItem()
self.OutputFlagsTable.setItem(4, 0, item)
item = QtWidgets.QTableWidgetItem()
self.OutputFlagsTable.setItem(4, 1, item)
self.OutputFlagsTable.horizontalHeader().setVisible(False)
self.OutputFlagsTable.horizontalHeader().setDefaultSectionSize(80)
self.OutputFlagsTable.horizontalHeader().setStretchLastSection(True)
self.OutputFlagsTable.verticalHeader().setVisible(False)
self.OutputFlagsTable.verticalHeader().setDefaultSectionSize(25)
self.OutputFlagsTable.verticalHeader().setStretchLastSection(False)
self.lbOutputFolder = QtWidgets.QPlainTextEdit(self.groupBox_3)
self.lbOutputFolder.setGeometry(QtCore.QRect(10, 180, 171, 91))
self.lbOutputFolder.setReadOnly(True)
self.lbOutputFolder.setObjectName("lbOutputFolder")
self.groupBox_4 = QtWidgets.QGroupBox(self.frame)
self.groupBox_4.setGeometry(QtCore.QRect(10, 60, 191, 81))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.groupBox_4.setFont(font)
self.groupBox_4.setToolTip("")
self.groupBox_4.setStyleSheet("")
self.groupBox_4.setObjectName("groupBox_4")
self.pb1 = QtWidgets.QPushButton(self.groupBox_4)
self.pb1.setGeometry(QtCore.QRect(10, 40, 171, 31))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.pb1.setFont(font)
self.pb1.setObjectName("pb1")
self.lbRunDate = QtWidgets.QLabel(self.groupBox_4)
self.lbRunDate.setGeometry(QtCore.QRect(30, 20, 131, 16))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.lbRunDate.setFont(font)
self.lbRunDate.setText("")
self.lbRunDate.setAlignment(QtCore.Qt.AlignCenter)
self.lbRunDate.setObjectName("lbRunDate")
self.tablewidget = QtWidgets.QTableWidget(self.frame)
self.tablewidget.setGeometry(QtCore.QRect(210, 10, 1671, 931))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(9)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.tablewidget.setFont(font)
self.tablewidget.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
self.tablewidget.setStyleSheet("background-color: rgb(255, 255, 255);\n"
"font: 9pt \"Segoe UI\";\n"
"color: rgb(0, 0, 0);\n"
"border-color: rgb(0, 0, 0);\n"
"gridline-color: rgb(198, 198, 198);")
self.tablewidget.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.tablewidget.setFrameShadow(QtWidgets.QFrame.Sunken)
self.tablewidget.setLineWidth(1)
self.tablewidget.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
self.tablewidget.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
self.tablewidget.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
self.tablewidget.setEditTriggers(QtWidgets.QAbstractItemView.AnyKeyPressed|QtWidgets.QAbstractItemView.DoubleClicked|QtWidgets.QAbstractItemView.EditKeyPressed|QtWidgets.QAbstractItemView.SelectedClicked)
self.tablewidget.setDragDropMode(QtWidgets.QAbstractItemView.NoDragDrop)
self.tablewidget.setAlternatingRowColors(False)
self.tablewidget.setSelectionMode(QtWidgets.QAbstractItemView.ContiguousSelection)
self.tablewidget.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectItems)
self.tablewidget.setShowGrid(True)
self.tablewidget.setRowCount(3)
self.tablewidget.setColumnCount(31)
self.tablewidget.setObjectName("tablewidget")
item = QtWidgets.QTableWidgetItem()
item.setTextAlignment(QtCore.Qt.AlignCenter)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
item.setFont(font)
item.setFlags(QtCore.Qt.ItemIsEnabled)
self.tablewidget.setItem(0, 0, item)
item = QtWidgets.QTableWidgetItem()
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
item.setFont(font)
self.tablewidget.setItem(0, 1, item)
item = QtWidgets.QTableWidgetItem()
item.setTextAlignment(QtCore.Qt.AlignCenter)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
item.setFont(font)
self.tablewidget.setItem(1, 0, item)
item = QtWidgets.QTableWidgetItem()
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
item.setFont(font)
item = QtWidgets.QTableWidgetItem()
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
item.setFont(font)
self.tablewidget.horizontalHeader().setVisible(False)
self.tablewidget.horizontalHeader().setDefaultSectionSize(46)
self.tablewidget.horizontalHeader().setStretchLastSection(True)
self.tablewidget.verticalHeader().setVisible(False)
self.tablewidget.verticalHeader().setDefaultSectionSize(20)
self.groupBox_2 = QtWidgets.QGroupBox(self.frame)
self.groupBox_2.setGeometry(QtCore.QRect(10, 140, 191, 51))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.groupBox_2.setFont(font)
self.groupBox_2.setObjectName("groupBox_2")
self.lb1 = QtWidgets.QLineEdit(self.groupBox_2)
self.lb1.setGeometry(QtCore.QRect(10, 20, 171, 21))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.lb1.setFont(font)
self.lb1.setStyleSheet("")
self.lb1.setText("")
self.lb1.setAlignment(QtCore.Qt.AlignCenter)
self.lb1.setObjectName("lb1")
self.groupBox_5 = QtWidgets.QGroupBox(self.frame)
self.groupBox_5.setGeometry(QtCore.QRect(10, 290, 191, 61))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.groupBox_5.setFont(font)
self.groupBox_5.setObjectName("groupBox_5")
self.lb4 = QtWidgets.QLineEdit(self.groupBox_5)
self.lb4.setGeometry(QtCore.QRect(10, 20, 81, 31))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.lb4.setFont(font)
self.lb4.setStyleSheet("")
self.lb4.setText("")
self.lb4.setAlignment(QtCore.Qt.AlignCenter)
self.lb4.setObjectName("lb4")
self.pb2 = QtWidgets.QPushButton(self.groupBox_5)
self.pb2.setGeometry(QtCore.QRect(100, 20, 81, 31))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.pb2.setFont(font)
self.pb2.setObjectName("pb2")
self.groupBox_6 = QtWidgets.QGroupBox(self.frame)
self.groupBox_6.setGeometry(QtCore.QRect(10, 350, 191, 61))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.groupBox_6.setFont(font)
self.groupBox_6.setObjectName("groupBox_6")
self.pb3 = QtWidgets.QPushButton(self.groupBox_6)
self.pb3.setGeometry(QtCore.QRect(10, 20, 171, 31))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.pb3.setFont(font)
self.pb3.setObjectName("pb3")
self.groupBox_7 = QtWidgets.QGroupBox(self.frame)
self.groupBox_7.setGeometry(QtCore.QRect(10, 190, 191, 51))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.groupBox_7.setFont(font)
self.groupBox_7.setObjectName("groupBox_7")
self.lb2 = QtWidgets.QLineEdit(self.groupBox_7)
self.lb2.setGeometry(QtCore.QRect(10, 20, 171, 21))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.lb2.setFont(font)
self.lb2.setStyleSheet("")
self.lb2.setText("")
self.lb2.setAlignment(QtCore.Qt.AlignCenter)
self.lb2.setObjectName("lb2")
self.groupBox_8 = QtWidgets.QGroupBox(self.frame)
self.groupBox_8.setGeometry(QtCore.QRect(10, 240, 191, 51))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.groupBox_8.setFont(font)
self.groupBox_8.setObjectName("groupBox_8")
self.lb3 = QtWidgets.QLineEdit(self.groupBox_8)
self.lb3.setGeometry(QtCore.QRect(10, 20, 171, 21))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.lb3.setFont(font)
self.lb3.setStyleSheet("")
self.lb3.setText("")
self.lb3.setAlignment(QtCore.Qt.AlignCenter)
self.lb3.setObjectName("lb3")
self.lbMaxBid = QtWidgets.QLabel(self.frame)
self.lbMaxBid.setGeometry(QtCore.QRect(10, 410, 191, 21))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.lbMaxBid.setFont(font)
self.lbMaxBid.setStyleSheet("background-color: rgb(170, 255, 255);")
self.lbMaxBid.setObjectName("lbMaxBid")
self.lbMinBid = QtWidgets.QLabel(self.frame)
self.lbMinBid.setGeometry(QtCore.QRect(10, 430, 191, 20))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
self.lbMinBid.setFont(font)
self.lbMinBid.setStyleSheet("background-color: rgb(170, 255, 255);")
self.lbMinBid.setObjectName("lbMinBid")
self.groupBox_4.raise_()
self.groupBox.raise_()
self.groupBox_3.raise_()
self.tablewidget.raise_()
self.groupBox_2.raise_()
self.groupBox_5.raise_()
self.groupBox_6.raise_()
self.groupBox_7.raise_()
self.groupBox_8.raise_()
self.lbMaxBid.raise_()
self.lbMinBid.raise_()
self.horizontalLayout.addWidget(self.frame)
mainwindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(mainwindow)
self.statusbar.setObjectName("statusbar")
mainwindow.setStatusBar(self.statusbar)
self.retranslateUi(mainwindow)
QtCore.QMetaObject.connectSlotsByName(mainwindow)
def retranslateUi(self, mainwindow):
_translate = QtCore.QCoreApplication.translate
self.groupBox.setTitle(_translate("mainwindow", "A"))
self.pb7.setText(_translate("mainwindow", "U"))
self.pb8.setText(_translate("mainwindow", "V"))
self.pb9.setText(_translate("mainwindow", "W"))
self.pb6.setText(_translate("mainwindow", "T"))
self.pbOutputFolder.setText(_translate("mainwindow", "Z"))
self.pb10.setText(_translate("mainwindow", "X"))
self.pb5.setText(_translate("mainwindow", "S"))
__sortingEnabled = self.OutputFlagsTable.isSortingEnabled()
self.OutputFlagsTable.setSortingEnabled(False)
item = self.OutputFlagsTable.item(0, 1)
item.setText(_translate("mainwindow", "a"))
item = self.OutputFlagsTable.item(1, 1)
item.setText(_translate("mainwindow", "b"))
item = self.OutputFlagsTable.item(2, 1)
item.setText(_translate("mainwindow", "c"))
item = self.OutputFlagsTable.item(3, 1)
item.setText(_translate("mainwindow", "d"))
item = self.OutputFlagsTable.item(4, 1)
item.setText(_translate("mainwindow", "e"))
self.OutputFlagsTable.setSortingEnabled(__sortingEnabled)
self.groupBox_4.setTitle(_translate("mainwindow", "B"))
self.pb1.setText(_translate("mainwindow", "Select Date"))
self.tablewidget.setSortingEnabled(False)
__sortingEnabled = self.tablewidget.isSortingEnabled()
self.tablewidget.setSortingEnabled(False)
item = self.tablewidget.item(0, 0)
item.setText(_translate("mainwindow", "A"))
item = self.tablewidget.item(1, 0)
item.setText(_translate("mainwindow", "B"))
item = self.tablewidget.item(2, 0)
item.setText(_translate("mainwindow", "C"))
item = self.tablewidget.item(2, 7)
item.setText(_translate("mainwindow", "1"))
item = self.tablewidget.item(2, 8)
item.setText(_translate("mainwindow", "2"))
item = self.tablewidget.item(2, 29)
item.setText(_translate("mainwindow", "23"))
item = self.tablewidget.item(2, 30)
item.setText(_translate("mainwindow", "24"))
self.tablewidget.setSortingEnabled(__sortingEnabled)
self.groupBox_2.setTitle(_translate("mainwindow", "C"))
self.groupBox_5.setTitle(_translate("mainwindow", "F"))
self.pb2.setText(_translate("mainwindow", "ADD"))
self.groupBox_6.setTitle(_translate("mainwindow", "G"))
self.pb3.setText(_translate("mainwindow", "Q"))
self.groupBox_7.setTitle(_translate("mainwindow", "D"))
self.groupBox_8.setTitle(_translate("mainwindow", "E"))
self.lbMaxBid.setText(_translate("mainwindow", " Max Bid : 0.0"))
self.lbMinBid.setText(_translate("mainwindow", " Min Bid : 0.0"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
mainwindow = QtWidgets.QMainWindow()
ui = Ui_mainwindow()
ui.setupUi(mainwindow)
mainwindow.show()
sys.exit(app.exec_())
Второй фрагмент - это то, что я хотел бы изменить автоматически при открытии в любом разрешении. Заранее спасибо.