对照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