Python Qt GUI快速编程-第四章的计算器python3+pytq5+Qt Designer实现
2016-12-30 10:27
851 查看
本代码为本人通过python3+pytq5+Qt Designer实现Python Qt GUI快速编程-第四章的计算器功能,还在原有例子上增加了两个按钮,请大家参考。
#Ui_Calc.py
#Calc.py
运行结果
#Ui_Calc.py
# -*- coding: utf-8 -*- from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(425, 344) Dialog.setSizeGripEnabled(True) self.verticalLayoutWidget = QtWidgets.QWidget(Dialog) self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 0, 421, 330)) self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget) self.verticalLayout.setContentsMargins(5, 5, 5, 5) self.verticalLayout.setObjectName("verticalLayout") self.browser = QtWidgets.QTextBrowser(self.verticalLayoutWidget) self.browser.setObjectName("browser") self.verticalLayout.addWidget(self.browser) self.lineedit = QtWidgets.QLineEdit(self.verticalLayoutWidget) self.lineedit.setObjectName("lineedit") self.verticalLayout.addWidget(self.lineedit) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.OkButton = QtWidgets.QPushButton(self.verticalLayoutWidget) self.OkButton.setObjectName("OkButton") self.horizontalLayout.addWidget(self.OkButton) spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem1) self.CancelButton = QtWidgets.QPushButton(self.verticalLayoutWidget) self.CancelButton.setObjectName("CancelButton") self.horizontalLayout.addWidget(self.CancelButton) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem2) self.verticalLayout.addLayout(self.horizontalLayout) self.retranslateUi(Dialog) self.CancelButton.clicked.connect(Dialog.close) QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Calculate")) self.lineedit.setText(_translate("Dialog", "\"Type an expression and press Enter\"")) self.OkButton.setText(_translate("Dialog", "Ok")) self.CancelButton.setText(_translate("Dialog", "Cancel")) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) Dialog = QtWidgets.QDialog() ui = Ui_Dialog() ui.setupUi(Dialog) Dialog.show() sys.exit(app.exec_())
#Calc.py
# -*- coding: utf-8 -*- """ Module implementing Calc. """ from PyQt5.QtCore import pyqtSlot from PyQt5.QtWidgets import QDialog, QApplication import sys from Ui_Calc import Ui_Dialog from math import * class Calc(QDialog, Ui_Dialog): """ Class documentation goes here. """ def __init__(self, parent=None): """ Constructor @param parent reference to the parent widget @type QWidget """ super(Calc, self).__init__(parent) self.setupUi(self) self.lineedit.selectAll() self.lineedit.setFocus() #self.lineedit.returnPressed.connect(self.updatebrower) self.OkButton.clicked.connect(self.updatebrower) @pyqtSlot() def updatebrower(self): """ Slot documentation goes here. """ # TODO: not implemented yet #self.lineedit.setFocus() try: text = self.lineedit.text() self.browser.append("{0} =<b>{1}</b>".format(text, eval(text))) except: self.browser.append("<font color=red>{0} is invalid!</font>" .format(text)) @pyqtSlot() def on_CancelButton_clicked(self): """ Slot documentation goes here. """ # TODO: not implemented yet pass if __name__ == "__main__": app = QApplication(sys.argv) dlg = Calc() dlg.show() sys.exit(app.exec_())
运行结果
相关文章推荐
- Python Qt GUI快速编程-第四章的Currency例子的python3+pytq5+Qt Designer实现
- Python Qt GUI快速编程-第四章的Exercise例子Interest的python3+pytq5+Qt Designer实现
- Python Qt GUI快速编程-第四章的digit的python3+pytq5+Qt Designer实现
- Python Qt GUI快速编程-第五章的exercise的python3+pytq5+Qt Dersinger实现
- Python Qt GUI快速编程-第五章的例子Numbers的python3+pytq5+Qt Designer实现
- Python Qt GUI快速编程-第五章的例子pen的python3+pytq5+Qt Designer实现
- PYTHON QT GUI快速编程 PYQT编程指南pdf
- 用python3+PyQt5改写Python Qt GUI快速编程的第七章实例Find Dialog
- Python Qt GUI快速编程第六章代码分析
- Qt Gui快速编程 第四章 源码
- 用python3+PyQt5改写Python Qt GUI快速编程的第6章实例主窗口
- 用python3+PyQt5改写Python Qt GUI快速编程的第6章实例主窗口 信号及槽如何使用
- 用 eric6 与 PyQt5 实现python的极速GUI编程(35篇PyQT和200多篇Python)
- Python GUI编程各种实现的对比
- Python GUI编程各种实现的对比
- Python GUI编程各种实现的对比(转)
- 【编程练习】快速排序,Java和Python实现
- python 实现GUI(图形用户界面)编程
- Python GUI编程各种实现的对比
- Python-GUI编程之 Tkinter 与 记事本实现心得