При нажатии на кнопку, не появляется надпись QLabel

Использую PyQt5. Число создаётся и отображается в командной строке, ошибки нет, но надпись не появляется?

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
from random import randint


class Window(QMainWindow):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("Random num")
        self.setGeometry(100, 100, 600, 400)
  
        self.UiComponents()

        self.show()

    def UiComponents(self):
        create_random_num = QPushButton("создание рандомного числа", self)
        create_random_num.resize(200, 50)
        create_random_num.move (200, 300)
        create_random_num.clicked.connect(self.create_random_num_func)

    #Функция рандомного числа
    num_random = 0

    def create_random_num_func(self):
        global num_random
        num_random = randint(1, 10)
        complite_random_num = QLabel(self)
        complite_random_num.setText("Число создано")
        complite_random_num.resize(200, 50)
        print(num_random)
        self.update()


app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec())```

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

Автор решения: S. Nick

Вы можете добавить complite_random_num.show() в метод create_random_num_func(self) и
добавить num_random в complite_random_num.setText("Число создано", num_random).

А правильно будет так, спросите если что-то не понятно.

import sys
from random import randint
from PyQt5.Qt import *


class Window(QMainWindow):
    def __init__(self):
        super().__init__()

        self.centralwidget = QWidget()
        self.centralwidget.setObjectName("centralwidget")
        self.setCentralWidget(self.centralwidget)
  
        self.uiComponents()

        layout = QVBoxLayout(self.centralwidget)
        layout.addWidget(self.label, alignment = Qt.AlignCenter)
        layout.addWidget(self.pushButton, alignment = Qt.AlignHCenter)

    def uiComponents(self):
        self.pushButton = QPushButton("Создать рандомное число", self)
        self.pushButton.clicked.connect(self.create_random_num_func)
        
        self.label = QLabel()

    def create_random_num_func(self):
        num_random = randint(1, 10)
        self.label.setText(f"Число создано: {num_random}")


StyleSheet = '''
#centralwidget {
    background-color: #18465d;
}
QLabel { 
    color: rgb(255, 255, 255);
    font: 27px;
} 
'''

if __name__ == "__main__":
    app = QApplication(sys.argv)
    app.setStyleSheet(StyleSheet)
    window = Window()
    window.setWindowTitle("Random num")
    window.resize(600, 400)
    window.show()
    sys.exit(app.exec())

введите сюда описание изображения

→ Ссылка