0

So I have designed a GUI in PyQt5 Designer and when I run it in the designer itself it appears fine but after converting it into Python code and running that, the window appears much smaller and all the widgets appear squished together.

Does anyone know why this happens and how to fix it?

I have tried to fix this by adding all the widgets to a grid so that when I scale up the window it will look normal but that hasn't worked either, see below.

In the Qt Designer: enter image description here

In Python code:

enter image description here

In Python code when the window is maximized:

enter image description here

Here is the Python Code that was generated:

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_winTransEntry(object):
    def setupUi(self, winTransEntry):
        winTransEntry.setObjectName("winTransEntry")
        winTransEntry.resize(700, 550)
        self.centralwidget = QtWidgets.QWidget(winTransEntry)
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayout_4 = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout_4.setObjectName("gridLayout_4")
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.verticalLayout = QtWidgets.QVBoxLayout()
        self.verticalLayout.setContentsMargins(-1, -1, 10, -1)
        self.verticalLayout.setSpacing(72)
        self.verticalLayout.setObjectName("verticalLayout")
        self.winCalendar = QtWidgets.QCalendarWidget(self.centralwidget)
        font = QtGui.QFont()
        font.setPointSize(8)
        self.winCalendar.setFont(font)
        self.winCalendar.setObjectName("winCalendar")
        self.verticalLayout.addWidget(self.winCalendar)
        self.btnImportCSV = QtWidgets.QPushButton(self.centralwidget)
        self.btnImportCSV.setCheckable(False)
        self.btnImportCSV.setAutoDefault(False)
        self.btnImportCSV.setDefault(False)
        self.btnImportCSV.setFlat(False)
        self.btnImportCSV.setObjectName("btnImportCSV")
        self.verticalLayout.addWidget(self.btnImportCSV)
        self.btnAddLedgerAccount = QtWidgets.QPushButton(self.centralwidget)
        self.btnAddLedgerAccount.setCheckable(False)
        self.btnAddLedgerAccount.setAutoDefault(False)
        self.btnAddLedgerAccount.setDefault(False)
        self.btnAddLedgerAccount.setFlat(False)
        self.btnAddLedgerAccount.setObjectName("btnAddLedgerAccount")
        self.verticalLayout.addWidget(self.btnAddLedgerAccount)
        self.lblWarning = QtWidgets.QLabel(self.centralwidget)
        self.lblWarning.setStyleSheet("QLabel {color: green}")
        self.lblWarning.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
        self.lblWarning.setObjectName("lblWarning")
        self.verticalLayout.addWidget(self.lblWarning)
        self.horizontalLayout.addLayout(self.verticalLayout)
        self.verticalLayout_3 = QtWidgets.QVBoxLayout()
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.gridLayout_2 = QtWidgets.QGridLayout()
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.btnBack = QtWidgets.QPushButton(self.centralwidget)
        self.btnBack.setCheckable(False)
        self.btnBack.setAutoDefault(False)
        self.btnBack.setDefault(False)
        self.btnBack.setFlat(False)
        self.btnBack.setObjectName("btnBack")
        self.gridLayout_2.addWidget(self.btnBack, 0, 2, 1, 1)
        self.lblLedgerAccount = QtWidgets.QLabel(self.centralwidget)
        font = QtGui.QFont()
        font.setPointSize(10)
        self.lblLedgerAccount.setFont(font)
        self.lblLedgerAccount.setAlignment(QtCore.Qt.AlignCenter)
        self.lblLedgerAccount.setObjectName("lblLedgerAccount")
        self.gridLayout_2.addWidget(self.lblLedgerAccount, 1, 0, 1, 1)
        self.lblDebit = QtWidgets.QLabel(self.centralwidget)
        font = QtGui.QFont()
        font.setPointSize(10)
        self.lblDebit.setFont(font)
        self.lblDebit.setAlignment(QtCore.Qt.AlignCenter)
        self.lblDebit.setObjectName("lblDebit")
        self.gridLayout_2.addWidget(self.lblDebit, 1, 1, 1, 1)
        self.lblCredit = QtWidgets.QLabel(self.centralwidget)
        font = QtGui.QFont()
        font.setPointSize(10)
        self.lblCredit.setFont(font)
        self.lblCredit.setAlignment(QtCore.Qt.AlignCenter)
        self.lblCredit.setObjectName("lblCredit")
        self.gridLayout_2.addWidget(self.lblCredit, 1, 2, 1, 1)
        self.gridLayout_2.setColumnStretch(0, 2)
        self.gridLayout_2.setColumnStretch(1, 1)
        self.gridLayout_2.setColumnStretch(2, 1)
        self.verticalLayout_3.addLayout(self.gridLayout_2)
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setContentsMargins(0, -1, -1, -1)
        self.gridLayout.setVerticalSpacing(40)
        self.gridLayout.setObjectName("gridLayout")
        self.iptCredit3 = QtWidgets.QLineEdit(self.centralwidget)
        self.iptCredit3.setObjectName("iptCredit3")
        self.gridLayout.addWidget(self.iptCredit3, 2, 2, 1, 1)
        self.cbxLedger4 = QtWidgets.QComboBox(self.centralwidget)
        self.cbxLedger4.setObjectName("cbxLedger4")
        self.gridLayout.addWidget(self.cbxLedger4, 3, 0, 1, 1)
        self.iptDebit1 = QtWidgets.QLineEdit(self.centralwidget)
        self.iptDebit1.setObjectName("iptDebit1")
        self.gridLayout.addWidget(self.iptDebit1, 0, 1, 1, 1)
        self.iptCredit4 = QtWidgets.QLineEdit(self.centralwidget)
        self.iptCredit4.setObjectName("iptCredit4")
        self.gridLayout.addWidget(self.iptCredit4, 3, 2, 1, 1)
        self.iptDebit2 = QtWidgets.QLineEdit(self.centralwidget)
        self.iptDebit2.setObjectName("iptDebit2")
        self.gridLayout.addWidget(self.iptDebit2, 1, 1, 1, 1)
        self.iptCredit5 = QtWidgets.QLineEdit(self.centralwidget)
        self.iptCredit5.setObjectName("iptCredit5")
        self.gridLayout.addWidget(self.iptCredit5, 4, 2, 1, 1)
        self.iptCredit1 = QtWidgets.QLineEdit(self.centralwidget)
        self.iptCredit1.setObjectName("iptCredit1")
        self.gridLayout.addWidget(self.iptCredit1, 0, 2, 1, 1)
        self.iptCredit2 = QtWidgets.QLineEdit(self.centralwidget)
        self.iptCredit2.setObjectName("iptCredit2")
        self.gridLayout.addWidget(self.iptCredit2, 1, 2, 1, 1)
        self.iptDebit4 = QtWidgets.QLineEdit(self.centralwidget)
        self.iptDebit4.setObjectName("iptDebit4")
        self.gridLayout.addWidget(self.iptDebit4, 3, 1, 1, 1)
        self.cbxLedger3 = QtWidgets.QComboBox(self.centralwidget)
        self.cbxLedger3.setObjectName("cbxLedger3")
        self.gridLayout.addWidget(self.cbxLedger3, 2, 0, 1, 1)
        self.cbxLedger2 = QtWidgets.QComboBox(self.centralwidget)
        self.cbxLedger2.setObjectName("cbxLedger2")
        self.gridLayout.addWidget(self.cbxLedger2, 1, 0, 1, 1)
        self.iptDebit3 = QtWidgets.QLineEdit(self.centralwidget)
        self.iptDebit3.setObjectName("iptDebit3")
        self.gridLayout.addWidget(self.iptDebit3, 2, 1, 1, 1)
        self.cbxLedger1 = QtWidgets.QComboBox(self.centralwidget)
        self.cbxLedger1.setObjectName("cbxLedger1")
        self.gridLayout.addWidget(self.cbxLedger1, 0, 0, 1, 1)
        self.cbxLedger5 = QtWidgets.QComboBox(self.centralwidget)
        self.cbxLedger5.setObjectName("cbxLedger5")
        self.gridLayout.addWidget(self.cbxLedger5, 4, 0, 1, 1)
        self.iptDebit5 = QtWidgets.QLineEdit(self.centralwidget)
        self.iptDebit5.setObjectName("iptDebit5")
        self.gridLayout.addWidget(self.iptDebit5, 4, 1, 1, 1)
        self.gridLayout.setColumnStretch(0, 2)
        self.gridLayout.setColumnStretch(1, 1)
        self.gridLayout.setColumnStretch(2, 1)
        self.verticalLayout_3.addLayout(self.gridLayout)
        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.gridLayout_3 = QtWidgets.QGridLayout()
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.btnGenerateNarration = QtWidgets.QPushButton(self.centralwidget)
        self.btnGenerateNarration.setCheckable(False)
        self.btnGenerateNarration.setAutoDefault(False)
        self.btnGenerateNarration.setDefault(False)
        self.btnGenerateNarration.setFlat(False)
        self.btnGenerateNarration.setObjectName("btnGenerateNarration")
        self.gridLayout_3.addWidget(self.btnGenerateNarration, 0, 1, 1, 1)
        self.lblNarration = QtWidgets.QLabel(self.centralwidget)
        font = QtGui.QFont()
        font.setPointSize(10)
        self.lblNarration.setFont(font)
        self.lblNarration.setAlignment(QtCore.Qt.AlignCenter)
        self.lblNarration.setObjectName("lblNarration")
        self.gridLayout_3.addWidget(self.lblNarration, 0, 0, 1, 1)
        self.iptNarration = QtWidgets.QTextEdit(self.centralwidget)
        self.iptNarration.setObjectName("iptNarration")
        self.gridLayout_3.addWidget(self.iptNarration, 1, 0, 1, 2)
        self.verticalLayout_2.addLayout(self.gridLayout_3)
        self.btnAddTransaction = QtWidgets.QPushButton(self.centralwidget)
        self.btnAddTransaction.setCheckable(False)
        self.btnAddTransaction.setAutoDefault(False)
        self.btnAddTransaction.setDefault(False)
        self.btnAddTransaction.setFlat(False)
        self.btnAddTransaction.setObjectName("btnAddTransaction")
        self.verticalLayout_2.addWidget(self.btnAddTransaction)
        self.verticalLayout_3.addLayout(self.verticalLayout_2)
        self.horizontalLayout.addLayout(self.verticalLayout_3)
        self.horizontalLayout.setStretch(0, 6)
        self.horizontalLayout.setStretch(1, 10)
        self.gridLayout_4.addLayout(self.horizontalLayout, 0, 0, 1, 1)
        winTransEntry.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(winTransEntry)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 700, 21))
        self.menubar.setObjectName("menubar")
        self.menuHelp = QtWidgets.QMenu(self.menubar)
        self.menuHelp.setObjectName("menuHelp")
        winTransEntry.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(winTransEntry)
        self.statusbar.setObjectName("statusbar")
        winTransEntry.setStatusBar(self.statusbar)
        self.smenuDocumentation = QtWidgets.QAction(winTransEntry)
        self.smenuDocumentation.setObjectName("smenuDocumentation")
        self.smenuInfo = QtWidgets.QAction(winTransEntry)
        self.smenuInfo.setObjectName("smenuInfo")
        self.menuHelp.addAction(self.smenuDocumentation)
        self.menuHelp.addAction(self.smenuInfo)
        self.menubar.addAction(self.menuHelp.menuAction())

        self.retranslateUi(winTransEntry)
        QtCore.QMetaObject.connectSlotsByName(winTransEntry)
        winTransEntry.setTabOrder(self.winCalendar, self.cbxLedger1)
        winTransEntry.setTabOrder(self.cbxLedger1, self.iptDebit1)
        winTransEntry.setTabOrder(self.iptDebit1, self.iptCredit1)
        winTransEntry.setTabOrder(self.iptCredit1, self.cbxLedger2)
        winTransEntry.setTabOrder(self.cbxLedger2, self.iptDebit2)
        winTransEntry.setTabOrder(self.iptDebit2, self.iptCredit2)
        winTransEntry.setTabOrder(self.iptCredit2, self.cbxLedger3)
        winTransEntry.setTabOrder(self.cbxLedger3, self.iptDebit3)
        winTransEntry.setTabOrder(self.iptDebit3, self.iptCredit3)
        winTransEntry.setTabOrder(self.iptCredit3, self.cbxLedger4)
        winTransEntry.setTabOrder(self.cbxLedger4, self.iptDebit4)
        winTransEntry.setTabOrder(self.iptDebit4, self.iptCredit4)
        winTransEntry.setTabOrder(self.iptCredit4, self.cbxLedger5)
        winTransEntry.setTabOrder(self.cbxLedger5, self.iptDebit5)
        winTransEntry.setTabOrder(self.iptDebit5, self.iptCredit5)
        winTransEntry.setTabOrder(self.iptCredit5, self.btnGenerateNarration)
        winTransEntry.setTabOrder(self.btnGenerateNarration, self.iptNarration)
        winTransEntry.setTabOrder(self.iptNarration, self.btnAddTransaction)
        winTransEntry.setTabOrder(self.btnAddTransaction, self.btnImportCSV)
        winTransEntry.setTabOrder(self.btnImportCSV, self.btnAddLedgerAccount)
        winTransEntry.setTabOrder(self.btnAddLedgerAccount, self.btnBack)

    def retranslateUi(self, winTransEntry):
        _translate = QtCore.QCoreApplication.translate
        winTransEntry.setWindowTitle(_translate("winTransEntry", "Transaction Entry"))
        self.btnImportCSV.setText(_translate("winTransEntry", "Import CSV"))
        self.btnAddLedgerAccount.setText(_translate("winTransEntry", "Add New Ledger Account"))
        self.lblWarning.setText(_translate("winTransEntry", "Status: Functional"))
        self.btnBack.setText(_translate("winTransEntry", "Back"))
        self.lblLedgerAccount.setText(_translate("winTransEntry", "Ledger Account"))
        self.lblDebit.setText(_translate("winTransEntry", "Debit"))
        self.lblCredit.setText(_translate("winTransEntry", "Credit"))
        self.btnGenerateNarration.setText(_translate("winTransEntry", "Auto Generate"))
        self.lblNarration.setText(_translate("winTransEntry", "Narration"))
        self.btnAddTransaction.setText(_translate("winTransEntry", "Add Transaction"))
        self.menuHelp.setTitle(_translate("winTransEntry", "Help"))
        self.smenuDocumentation.setText(_translate("winTransEntry", "Documentation"))
        self.smenuInfo.setText(_translate("winTransEntry", "Info"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    winTransEntry = QtWidgets.QMainWindow()
    ui = Ui_winTransEntry()
    ui.setupUi(winTransEntry)
    #ui.retranslateUi(winTransEntry)
    winTransEntry.show()
    sys.exit(app.exec_())
Prof.AI
  • 109
  • 1
  • 11

0 Answers0