Getting started with Qt Designer

Installation
To install Qt Designer without having to download all the GBs of data (on Windows) simply go into Anaconda and type the following : pip install pyqt5-installer pip install pyqt5 pip install pyqt5-tools Once the installations are finished go into the pyqt5 site-packages folder, for me the address for this was : C:\Users\Renee\Anaconda3\Lib\site-packages\pyqt5_tools And in there you will find the designer.exe application file. Click on that and Qt Designer will start.

Creating our first basic app
Now that you are in Qt lets select the template 'Dialog with Buttons Bottom'.

You can change your UI in here, but for now lets just change the Window Title and then save our ui as  dialog.ui.

Converting .ui to .py
Go back into Anaconda and go to where our ui file is that we just created. Then enter : pyuic5 dialog.ui > dialog.py This will convert our ui file into a py file that we can actually use.

Next we can make some minor changes  such as the generated class name so it makes more sense to us.

The final code should look something like this :

dialog.py # # from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(400, 300) self.buttonBox = QtWidgets.QDialogButtonBox(Dialog) self.buttonBox.setGeometry(QtCore.QRect(30, 240, 341, 32)) self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok) self.buttonBox.setObjectName("buttonBox") self.retranslateUi(Dialog) self.buttonBox.accepted.connect(Dialog.accept) self.buttonBox.rejected.connect(Dialog.reject) QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Magic: The Gathering Life Counter"))
 * 1) -*- coding: utf-8 -*-
 * 1) Form implementation generated from reading ui file 'magicCounter_UI.ui'
 * 1) Created by: PyQt5 UI code generator 5.11.3
 * 1) WARNING! All changes made in this file will be lost!

Then we create another .py file and call it  app.py  : import sys from PyQt5.QtWidgets import QDialog, QApplication from dialog import Ui_Dialog class AppWindow(QDialog): def __init__(self): super.__init__ self.ui = Ui_Dialog self.ui.setupUi(self) self.show app = QApplication(sys.argv) w = AppWindow w.show sys.exit(app.exec_)

Then we run our app.py  file and we should get our window looking something like this :



If you are using the template of a MainWindow then your app.py file will need to look slightly different, otherwise you will get this pesky AttributeError: 'AppWindow' object has no attribute 'setCentralWidget' error. So instead we need to implement it with QMainWIndow.

To do this, your PyQt5.QtWidgets import statement should look something like this : from PyQt5.QtWidgets import QApplication, QMainWindow and then down the bottom where you declared your app and window variables, change and add the following : app = QApplication(sys.argv) window = QMainWindow ui = Ui_MainWindow ui.setupUi(window) window.show sys.exit(app.exec_) Now when you run the app.py file, it should load successfully.