PyQt5:计算器UI(1)

本文通过对比PyQt5和Qt4.7计算器DEMO,介绍了如何使用PyQt5构建计算器界面,包括主入口函数、Calculator类以及按钮的动态创建和信号槽连接。通过对UI代码的分析,读者能理解PyQt5中UI的设计方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对照PyQt5的计算器demo 和 Qt4.7的计算器demo ,初步了解信号槽、函数和UI的写法。


大概了解了下UI的写法

1. main.cpp

在Qt C++ 里面首先入口函数是:

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    Calculator calc;
    calc.show();
    return app.exec();
}
在PyQt5里面入口函数

if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    calc = Calculator()
    calc.show()
    sys.exit(app.exec_())
同理都需要库的头文件

C++写法:

#include <QApplication>
#include <QToolButton>
#include <QGirdLayout>
PyQt写法:
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import (QApplication, QGridLayout, QLayout, QLineEdit, 
        QSizePolicy, QToolButton, QWidget)

2.Calculator类

class Calculator(QWidget):
    
    def __init__(self,  parent = None):
        super(Calculator,  self).__init__(parent)
可以理解为构造函数,初始化内容

接下来可以new一些button

        #[3]
        self.display = QLineEdit('0')     # new QLineEdit
        self.display.setReadOnly(True)   # 设置只读
        self.display.setAlignment(Qt.AlignRight)  # 设置文字从右向左显示
        self.display.setMaxLength(15)   # set max length
        #[3]
        #[4]
        font = self.display.font()
        font.setPointSize(font.pointSize() + 8)
        self.display.setFont(font)
        #[4]
        
        #[5] create button  0, 1, 2, .... 9
        self.digitButtons = []
        
        for i in range(Calculator.NumDigitButtons):
            self.digitButtons.append(self.createButton(str(i), self.digitClicked))
        #[5]
        
        #[7] create button 
        self.pointButton = self.createButton(".",  self.pointClicked)
        self.changeSignButton = self.createButton(u"\N{PLUS-MINUS SIGN}",  self.ch
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值