#Импортируем всё необходимое
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
import random
#графический дизайн
class Ui_Randomiser(object):
def setupUi(self, Randomiser):
Randomiser.setObjectName("Randomiser")
Randomiser.resize(500, 450)
font = QtGui.QFont()
font.setPointSize(12)
Randomiser.setFont(font)
Randomiser.setStyleSheet("background-color: qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0 rgba(255, 255, 255, 255), stop:0.373979 rgba(255, 255, 255, 255), stop:0.373991 rgba(33, 30, 255, 255), stop:0.624018 rgba(33, 30, 255, 255), stop:0.624043 rgba(255, 0, 0, 255), stop:1 rgba(255, 0, 0, 255));\n"
"background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0.227273 rgba(100, 43, 255, 255), stop:0.852273 rgba(21, 117, 255, 255));")
self.centralwidget = QtWidgets.QWidget(Randomiser)
self.centralwidget.setObjectName("centralwidget")
self.Text_Random = QtWidgets.QLabel(self.centralwidget)
self.Text_Random.setGeometry(QtCore.QRect(0, 350, 501, 51))
self.Text_Random.setStyleSheet("background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0.227273 rgba(100, 43, 255, 255), stop:0.852273 rgba(21, 117, 255, 255));\n"
"background-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0 rgba(255, 235, 235, 206), stop:0.35 rgba(255, 188, 188, 80), stop:0.4 rgba(255, 162, 162, 80), stop:0.425 rgba(255, 132, 132, 156), stop:0.44 rgba(252, 128, 128, 80), stop:1 rgba(255, 255, 255, 0));\n"
"background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0.227273 rgba(100, 43, 255, 0), stop:0.852273 rgba(21, 117, 255, 0));\n")
self.Text_Random.setText("")
self.Text_Random.setScaledContents(False)
self.Text_Random.setAlignment(QtCore.Qt.AlignCenter)
self.Text_Random.setObjectName("Text_Random")
self.btn_Start = QtWidgets.QPushButton(self.centralwidget)
self.btn_Start.setGeometry(QtCore.QRect(150, 210, 200, 100))
font = QtGui.QFont()
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.btn_Start.setFont(font)
self.btn_Start.setObjectName("btn_Start")
self.Label_Result = QtWidgets.QLabel(self.centralwidget)
self.Label_Result.setGeometry(QtCore.QRect(150, 340, 191, 61))
font = QtGui.QFont()
font.setFamily("MS Shell Dlg 2")
font.setPointSize(8)
font.setBold(False)
font.setItalic(False)
font.setWeight(9)
font.setStyleStrategy(QtGui.QFont.PreferDefault)
self.Label_Result.setFont(font)
self.Label_Result.setStyleSheet("background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 0, 0), stop:1 rgba(255, 255, 255, 0));")
self.Label_Result.setFrameShape(QtWidgets.QFrame.NoFrame)
self.Label_Result.setAlignment(QtCore.Qt.AlignCenter)
self.Label_Result.setObjectName("Label_Result")
self.labelMin = QtWidgets.QLabel(self.centralwidget)
self.labelMin.setGeometry(QtCore.QRect(60, 120, 71, 41))
font = QtGui.QFont()
font.setPointSize(12)
self.labelMin.setFont(font)
self.labelMin.setStyleSheet("background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 0, 0), stop:1 rgba(255, 255, 255, 0));")
self.labelMin.setObjectName("labelMin")
self.MinLineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.MinLineEdit.setGeometry(QtCore.QRect(132, 129, 91, 31))
self.MinLineEdit.setText("")
self.MinLineEdit.setObjectName("MinLineEdit")
self.labelMax = QtWidgets.QLabel(self.centralwidget)
self.labelMax.setGeometry(QtCore.QRect(256, 113, 71, 51))
font = QtGui.QFont()
font.setPointSize(12)
self.labelMax.setFont(font)
self.labelMax.setStyleSheet("background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 0, 0), stop:1 rgba(255, 255, 255, 0));")
self.labelMax.setObjectName("labelMax")
self.MaxLineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.MaxLineEdit.setGeometry(QtCore.QRect(310, 130, 91, 31))
self.MaxLineEdit.setText("")
self.MaxLineEdit.setObjectName("MaxLineEdit")
Randomiser.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(Randomiser)
self.statusbar.setObjectName("statusbar")
Randomiser.setStatusBar(self.statusbar)
self.retranslateUi(Randomiser)
QtCore.QMetaObject.connectSlotsByName(Randomiser)
#вызываем функцию для нашего функционала
self.add_function()
#назначаем текст на кнопках и надписях
def retranslateUi(self, Randomiser):
_translate = QtCore.QCoreApplication.translate
Randomiser.setWindowTitle(_translate("Randomiser", "Случайный выбор числа"))
self.btn_Start.setText(_translate("Randomiser", "Start"))
self.Label_Result.setText(_translate("Randomiser", "Тут будет результат"))
self.labelMin.setText(_translate("Randomiser", "Min:"))
self.labelMax.setText(_translate("Randomiser", "Max:"))
#фукционал
#назначаем кнопку к функции чтобы она работала
def add_function(self):
self.btn_Start.clicked.connect(self.random_func)
#функция рандома, кнопки Start и подбора чисел
def random_func(self):
try:
min_value = int(self.MinLineEdit.text())
max_value = int(self.MaxLineEdit.text())
aboba = random.randint(min_value, max_value)
self.Label_Result.setText("Случайное число:" + str(aboba))
self.btn_Start.setText("Ещё разок?")
except ValueError:
self.Label_Result.setText('обозначте: Min: числo, Max: числo')
self.btn_Start.setText("Попробуйте ещё раз")
#запуск и открытие
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Randomiser = QtWidgets.QMainWindow()
ui = Ui_Randomiser()
ui.setupUi(Randomiser)
Randomiser.show()
sys.exit(app.exec_())