Не работают кнопки в PyQt
Пишу калькулятор на Python с помощью PyQt5. Дизайн делаю в Qt Designer.
Суть в том, что когда я вставляю в stylesheet кнопки свойство border-radius у меня перестает работать кнопка. Как только я его убираю - она работает, но превращается в квадратную, что мне совершенно не нужно.
Как оставить кнопку круглой и заставить ее работать? Пробовал собирать из .ui в .py - там тоже ничего не работает, соответственно.
Снизу .ui файл
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>321</width>
<height>481</height>
</rect>
</property>
<property name="font">
<font>
<family>SF Pro Display</family>
</font>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="central_widget_grid">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>30</number>
</property>
<property name="topMargin">
<number>50</number>
</property>
<property name="rightMargin">
<number>30</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<property name="horizontalSpacing">
<number>7</number>
</property>
<item row="1" column="0">
<widget class="QPushButton" name="btn_clear_display">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">border-radius: 30px;
background-color:rgb(166,166,166);
color: rgb(0, 0, 0);
;</string>
</property>
<property name="text">
<string>C</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QPushButton" name="btn_six">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"> border-radius: 30px;
background-color: rgb(229, 229, 234);
color: rgb(0, 0, 0);</string>
</property>
<property name="text">
<string>6</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QPushButton" name="btn_two">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"> border-radius: 30px;
background-color: rgb(229, 229, 234);
color: rgb(0, 0, 0);</string>
</property>
<property name="text">
<string>2</string>
</property>
</widget>
</item>
<item row="5" column="2">
<widget class="QPushButton" name="btn_equally">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"> border-radius: 30px;
background-color: rgb(229, 229, 234);
color: rgb(0, 0, 0);</string>
</property>
<property name="text">
<string>=</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QPushButton" name="btn_four">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"> border-radius: 30px;
background-color: rgb(229, 229, 234);
color: rgb(0, 0, 0);</string>
</property>
<property name="text">
<string>4</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QPushButton" name="btn_undo_action">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">border-radius: 30px;
background-color: rgb(26,115,233);
color: rgb(255, 255, 255);</string>
</property>
<property name="text">
<string>←</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="btn_mod">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">border-radius: 30px;
background-color:rgb(166,166,166);
color: rgb(0, 0, 0);
;</string>
</property>
<property name="text">
<string>%</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="btn_int_div">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">border-radius: 30px;
background-color:rgb(166,166,166);
color: rgb(0, 0, 0);
;</string>
</property>
<property name="text">
<string>//</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="4">
<widget class="QLabel" name="label_calculation_result">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>63</height>
</size>
</property>
<property name="font">
<font>
<pointsize>32</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>0</string>
</property>
<property name="alignment">
<set>Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing</set>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="btn_five">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"> border-radius: 30px;
background-color: rgb(229, 229, 234);
color: rgb(0, 0, 0);</string>
</property>
<property name="text">
<string>5</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="btn_eight">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"> border-radius: 30px;
background-color: rgb(229, 229, 234);
color: rgb(0, 0, 0);</string>
</property>
<property name="text">
<string>8</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="btn_seven">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"> border-radius: 30px;
background-color: rgb(229, 229, 234);
color: rgb(0, 0, 0);</string>
</property>
<property name="text">
<string>7</string>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QPushButton" name="btn_division">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">border-radius: 30px;
background-color: rgb(26,115,233);
color: rgb(255, 255, 255);</string>
</property>
<property name="text">
<string>÷</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QPushButton" name="btn_nine">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"> border-radius: 30px;
background-color: rgb(229, 229, 234);
color: rgb(0, 0, 0);</string>
</property>
<property name="text">
<string>9</string>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QPushButton" name="btn_multiplication">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">border-radius: 30px;
background-color: rgb(26,115,233);
color: rgb(255, 255, 255);</string>
</property>
<property name="text">
<string>×</string>
</property>
</widget>
</item>
<item row="4" column="3">
<widget class="QPushButton" name="btn_minus">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">border-radius: 30px;
background-color: rgb(26,115,233);
color: rgb(255, 255, 255);</string>
</property>
<property name="text">
<string>-</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QPushButton" name="btn_one">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"> border-radius: 30px;
background-color: rgb(229, 229, 234);
color: rgb(0, 0, 0);</string>
</property>
<property name="text">
<string>1</string>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QPushButton" name="btn_three">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"> border-radius: 30px;
background-color: rgb(229, 229, 234);
color: rgb(0, 0, 0);</string>
</property>
<property name="text">
<string>3</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QPushButton" name="btn_zero">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"> border-radius: 30px;
background-color: rgb(229, 229, 234);
color: rgb(0, 0, 0);</string>
</property>
<property name="text">
<string>0</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QPushButton" name="btn_decimal_separator">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"> border-radius: 30px;
background-color: rgb(229, 229, 234);
color: rgb(0, 0, 0);</string>
</property>
<property name="text">
<string>,</string>
</property>
</widget>
</item>
<item row="5" column="3">
<widget class="QPushButton" name="btn_plus">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">border-radius: 30px;
background-color: rgb(26,115,233);
color: rgb(255, 255, 255);</string>
</property>
<property name="text">
<string>+</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>321</width>
<height>26</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
НИКОГДА НЕ ИЗМЕНЯЙТЕ код, сгенерированный Qt Designer. Создайте другой класс, который наследуется от соответствующего виджета, и используйте созданный класс для его заполнения.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(321, 481)
font = QtGui.QFont()
font.setFamily("SF Pro Display")
MainWindow.setFont(font)
self.central_widget_grid = QtWidgets.QWidget(MainWindow)
font = QtGui.QFont()
font.setPointSize(8)
self.central_widget_grid.setFont(font)
self.central_widget_grid.setObjectName("central_widget_grid")
self.gridLayout = QtWidgets.QGridLayout(self.central_widget_grid)
self.gridLayout.setContentsMargins(30, 50, 30, 0)
self.gridLayout.setHorizontalSpacing(7)
self.gridLayout.setObjectName("gridLayout")
self.btn_clear_display = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_clear_display.sizePolicy().hasHeightForWidth())
self.btn_clear_display.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_clear_display.setFont(font)
self.btn_clear_display.setStyleSheet("border-radius: 30px;\n"
"background-color:rgb(166,166,166);\n"
"color: rgb(0, 0, 0);\n"
";")
self.btn_clear_display.setObjectName("btn_clear_display")
self.gridLayout.addWidget(self.btn_clear_display, 1, 0, 1, 1)
self.btn_six = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_six.sizePolicy().hasHeightForWidth())
self.btn_six.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_six.setFont(font)
self.btn_six.setStyleSheet(" border-radius: 30px;\n"
"background-color: rgb(229, 229, 234);\n"
"color: rgb(0, 0, 0);")
self.btn_six.setObjectName("btn_six")
self.gridLayout.addWidget(self.btn_six, 3, 2, 1, 1)
self.btn_two = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_two.sizePolicy().hasHeightForWidth())
self.btn_two.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_two.setFont(font)
self.btn_two.setStyleSheet(" border-radius: 30px;\n"
"background-color: rgb(229, 229, 234);\n"
"color: rgb(0, 0, 0);")
self.btn_two.setObjectName("btn_two")
self.gridLayout.addWidget(self.btn_two, 4, 1, 1, 1)
self.btn_equally = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_equally.sizePolicy().hasHeightForWidth())
self.btn_equally.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_equally.setFont(font)
self.btn_equally.setStyleSheet(" border-radius: 30px;\n"
"background-color: rgb(229, 229, 234);\n"
"color: rgb(0, 0, 0);")
self.btn_equally.setObjectName("btn_equally")
self.gridLayout.addWidget(self.btn_equally, 5, 2, 1, 1)
self.btn_four = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_four.sizePolicy().hasHeightForWidth())
self.btn_four.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_four.setFont(font)
self.btn_four.setStyleSheet(" border-radius: 30px;\n"
"background-color: rgb(229, 229, 234);\n"
"color: rgb(0, 0, 0);")
self.btn_four.setObjectName("btn_four")
self.gridLayout.addWidget(self.btn_four, 3, 0, 1, 1)
self.btn_undo_action = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_undo_action.sizePolicy().hasHeightForWidth())
self.btn_undo_action.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_undo_action.setFont(font)
self.btn_undo_action.setStyleSheet("border-radius: 30px;\n"
"background-color: rgb(26,115,233);\n"
"color: rgb(255, 255, 255);")
self.btn_undo_action.setObjectName("btn_undo_action")
self.gridLayout.addWidget(self.btn_undo_action, 1, 3, 1, 1)
self.btn_mod = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_mod.sizePolicy().hasHeightForWidth())
self.btn_mod.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_mod.setFont(font)
self.btn_mod.setStyleSheet("border-radius: 30px;\n"
"background-color:rgb(166,166,166);\n"
"color: rgb(0, 0, 0);\n"
";")
self.btn_mod.setObjectName("btn_mod")
self.gridLayout.addWidget(self.btn_mod, 1, 2, 1, 1)
self.btn_int_div = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_int_div.sizePolicy().hasHeightForWidth())
self.btn_int_div.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_int_div.setFont(font)
self.btn_int_div.setStyleSheet("border-radius: 30px;\n"
"background-color:rgb(166,166,166);\n"
"color: rgb(0, 0, 0);\n"
";")
self.btn_int_div.setObjectName("btn_int_div")
self.gridLayout.addWidget(self.btn_int_div, 1, 1, 1, 1)
self.label_calculation_result = QtWidgets.QLabel(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_calculation_result.sizePolicy().hasHeightForWidth())
self.label_calculation_result.setSizePolicy(sizePolicy)
self.label_calculation_result.setMaximumSize(QtCore.QSize(16777215, 63))
font = QtGui.QFont()
font.setPointSize(32)
font.setBold(True)
font.setWeight(75)
self.label_calculation_result.setFont(font)
self.label_calculation_result.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing)
self.label_calculation_result.setObjectName("label_calculation_result")
self.gridLayout.addWidget(self.label_calculation_result, 0, 0, 1, 4)
self.btn_five = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_five.sizePolicy().hasHeightForWidth())
self.btn_five.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_five.setFont(font)
self.btn_five.setStyleSheet(" border-radius: 30px;\n"
"background-color: rgb(229, 229, 234);\n"
"color: rgb(0, 0, 0);")
self.btn_five.setObjectName("btn_five")
self.gridLayout.addWidget(self.btn_five, 3, 1, 1, 1)
self.btn_eight = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_eight.sizePolicy().hasHeightForWidth())
self.btn_eight.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_eight.setFont(font)
self.btn_eight.setStyleSheet(" border-radius: 30px;\n"
"background-color: rgb(229, 229, 234);\n"
"color: rgb(0, 0, 0);")
self.btn_eight.setObjectName("btn_eight")
self.gridLayout.addWidget(self.btn_eight, 2, 1, 1, 1)
self.btn_seven = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_seven.sizePolicy().hasHeightForWidth())
self.btn_seven.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_seven.setFont(font)
self.btn_seven.setStyleSheet(" border-radius: 30px;\n"
"background-color: rgb(229, 229, 234);\n"
"color: rgb(0, 0, 0);")
self.btn_seven.setObjectName("btn_seven")
self.gridLayout.addWidget(self.btn_seven, 2, 0, 1, 1)
self.btn_division = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_division.sizePolicy().hasHeightForWidth())
self.btn_division.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_division.setFont(font)
self.btn_division.setStyleSheet("border-radius: 30px;\n"
"background-color: rgb(26,115,233);\n"
"color: rgb(255, 255, 255);")
self.btn_division.setObjectName("btn_division")
self.gridLayout.addWidget(self.btn_division, 2, 3, 1, 1)
self.btn_nine = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_nine.sizePolicy().hasHeightForWidth())
self.btn_nine.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_nine.setFont(font)
self.btn_nine.setStyleSheet(" border-radius: 30px;\n"
"background-color: rgb(229, 229, 234);\n"
"color: rgb(0, 0, 0);")
self.btn_nine.setObjectName("btn_nine")
self.gridLayout.addWidget(self.btn_nine, 2, 2, 1, 1)
self.btn_multiplication = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_multiplication.sizePolicy().hasHeightForWidth())
self.btn_multiplication.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_multiplication.setFont(font)
self.btn_multiplication.setStyleSheet("border-radius: 30px;\n"
"background-color: rgb(26,115,233);\n"
"color: rgb(255, 255, 255);")
self.btn_multiplication.setObjectName("btn_multiplication")
self.gridLayout.addWidget(self.btn_multiplication, 3, 3, 1, 1)
self.btn_minus = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_minus.sizePolicy().hasHeightForWidth())
self.btn_minus.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_minus.setFont(font)
self.btn_minus.setStyleSheet("border-radius: 30px;\n"
"background-color: rgb(26,115,233);\n"
"color: rgb(255, 255, 255);")
self.btn_minus.setObjectName("btn_minus")
self.gridLayout.addWidget(self.btn_minus, 4, 3, 1, 1)
self.btn_one = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_one.sizePolicy().hasHeightForWidth())
self.btn_one.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_one.setFont(font)
self.btn_one.setStyleSheet(" border-radius: 30px;\n"
"background-color: rgb(229, 229, 234);\n"
"color: rgb(0, 0, 0);")
self.btn_one.setObjectName("btn_one")
self.gridLayout.addWidget(self.btn_one, 4, 0, 1, 1)
self.btn_three = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_three.sizePolicy().hasHeightForWidth())
self.btn_three.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_three.setFont(font)
self.btn_three.setStyleSheet(" border-radius: 30px;\n"
"background-color: rgb(229, 229, 234);\n"
"color: rgb(0, 0, 0);")
self.btn_three.setObjectName("btn_three")
self.gridLayout.addWidget(self.btn_three, 4, 2, 1, 1)
self.btn_zero = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_zero.sizePolicy().hasHeightForWidth())
self.btn_zero.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_zero.setFont(font)
self.btn_zero.setStyleSheet(" border-radius: 30px;\n"
"background-color: rgb(229, 229, 234);\n"
"color: rgb(0, 0, 0);")
self.btn_zero.setObjectName("btn_zero")
self.gridLayout.addWidget(self.btn_zero, 5, 0, 1, 1)
self.btn_decimal_separator = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_decimal_separator.sizePolicy().hasHeightForWidth())
self.btn_decimal_separator.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_decimal_separator.setFont(font)
self.btn_decimal_separator.setStyleSheet(" border-radius: 30px;\n"
"background-color: rgb(229, 229, 234);\n"
"color: rgb(0, 0, 0);")
self.btn_decimal_separator.setObjectName("btn_decimal_separator")
self.gridLayout.addWidget(self.btn_decimal_separator, 5, 1, 1, 1)
self.btn_plus = QtWidgets.QPushButton(self.central_widget_grid)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btn_plus.sizePolicy().hasHeightForWidth())
self.btn_plus.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setPointSize(12)
self.btn_plus.setFont(font)
self.btn_plus.setStyleSheet("border-radius: 30px;\n"
"background-color: rgb(26,115,233);\n"
"color: rgb(255, 255, 255);")
self.btn_plus.setObjectName("btn_plus")
self.gridLayout.addWidget(self.btn_plus, 5, 3, 1, 1)
MainWindow.setCentralWidget(self.central_widget_grid)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 321, 26))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.btn_clear_display.setText(_translate("MainWindow", "C"))
self.btn_six.setText(_translate("MainWindow", "6"))
self.btn_two.setText(_translate("MainWindow", "2"))
self.btn_equally.setText(_translate("MainWindow", "="))
self.btn_four.setText(_translate("MainWindow", "4"))
self.btn_undo_action.setText(_translate("MainWindow", "←"))
self.btn_mod.setText(_translate("MainWindow", "%"))
self.btn_int_div.setText(_translate("MainWindow", "//"))
self.label_calculation_result.setText(_translate("MainWindow", "0"))
self.btn_five.setText(_translate("MainWindow", "5"))
self.btn_eight.setText(_translate("MainWindow", "8"))
self.btn_seven.setText(_translate("MainWindow", "7"))
self.btn_division.setText(_translate("MainWindow", "÷"))
self.btn_nine.setText(_translate("MainWindow", "9"))
self.btn_multiplication.setText(_translate("MainWindow", "×"))
self.btn_minus.setText(_translate("MainWindow", "-"))
self.btn_one.setText(_translate("MainWindow", "1"))
self.btn_three.setText(_translate("MainWindow", "3"))
self.btn_zero.setText(_translate("MainWindow", "0"))
self.btn_decimal_separator.setText(_translate("MainWindow", ","))
self.btn_plus.setText(_translate("MainWindow", "+"))
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.btn_zero.clicked.connect(self.add_functions)
self.btn_one.clicked.connect(self.add_functions)
self.btn_two.clicked.connect(self.add_functions)
self.btn_three.clicked.connect(self.add_functions)
# ... и так далее
def add_functions(self):
# self.btn_zero.clicked.connect(lambda: self.write_number(self.btn_zero.text()))
sender = self.sender()
self.write_number(sender.text())
def write_number(self, number):
print(number)
self.label_calculation_result.setText(number)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
w = MainWindow()
# ui = Ui_MainWindow()
# ui.setupUi(MainWindow)
w.show()
sys.exit(app.exec_())


