另一个.py文件中的:
import sys
import string
from PyQt4 import QtCore, QtGui
from calculator import Ui_Form#这条语句就是导入要引用的界面文件的python文件
class MyForm(QtGui.QMainWindow):
def __init__(self, parent=None):
#定义全局变量
self.str1 = ''#接收第一个要运算的数
self.str2 = ''#接收第二个要运算的数
self.flag = '0'
self.calFlag = ''
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_Form()
self.ui.setupUi(self)
self.ui.display.setText(self.str1)
#菜单的设置
exit = QtGui.QAction(QtGui.QIcon('icons/exit.png'), 'Exit', self)
exit.setShortcut('Ctrl+Q')
self.connect(exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))
menubar = self.menuBar()
file = menubar.addMenu('&File')
file.addAction(exit)
#数字键事件处理
QtCore.QObject.connect(self.ui.button_7,QtCore.SIGNAL("clicked()"),self.func_button7)
QtCore.QObject.connect(self.ui.button_8,QtCore.SIGNAL("clicked()"),self.func_button8)
def func_buttonEqual(self):
#字符串先转换为数字,计算结果后再转换为字符串
if self.calFlag == '1':
num = str(int(self.str1) + int(self.str2))
elif self.calFlag == '2':
num = str(int(self.str1) - int(self.str2))
elif self.calFlag == '3':
num = str(int(self.str1) * int(self.str2))
elif self.calFlag == '4':
num = str(int(self.str1) / int(self.str2))
else:
self.calFlag = '0'
self.ui.display.setText(num)
def func_buttonClear(self):
self.str1 = ''
self.str2 = ''
self.ui.display.setText('')
self.flag = '0'
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = MyForm()
myapp.show()
sys.exit(app.exec_())