Skip to content
Advertisement

Labels and buttons not appearing PyQt5, Python 3 [closed]

from PyQt5 import QtWidgets 
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys

class MyWin:
    def __init__(self):
        super(MyWin, self).__init__()

        self.setGeometry(200,200,300,300)
        self.setWindowTitle("Test")

        self.initUI()

    def initUI(self):
        self.label = QtWidgets.QLabel(self)
        self.label.setText("First Label")
        self.label.move(100, 100)

        self.button = QtWidgets.QPushButton(self)
        self.button.setText("Button")
        self.button.clicked.connect(self.click)

    def click(self):
        self.label.setText("Pressed ha")
        


def window():
    
    app = QApplication(sys.argv)
    win = QMainWindow()

    win.show()
    sys.exit(app.exec_())

window()

I am a beginner in PyQt5, and I’m having an issue with my program. When this code is executed, a window appears; however, the label and the button does not appear. Any help would be much appreciated.

Advertisement

Answer

You are not creating an instance of your class, which should also inherit from QMainWindow, as right now it’s just a simple python object subclass.

class MyWin(QtWidgets.QMainWindow):
    # ...

def window():
    
    app = QtWidgets.QApplication(sys.argv)
    win = MyWin()

    win.show()
    sys.exit(app.exec_())
User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement