the docs
不建议修改Qt Designer生成的文件,因此我将假定该文件名为ui_dialog.py。针对这个问题,您必须连接每个按钮的点击信号,并根据按钮,实现添加或删除文本等逻辑。
main.py
from PyQt4 import QtCore, QtGui
from ui_dialog import Ui_Dialog
class Dialog(QtGui.QDialog, Ui_Dialog):
def __init__(self, parent=None):
super(Dialog, self).__init__(parent)
self.setupUi(self)
buttons = (
self.pushButton_num1, self.pushButton_num2, self.pushButton_num3,
self.pushButton_num4, self.pushButton_num5, self.pushButton_num6,
self.pushButton_num7, self.pushButton_num8, self.pushButton_num9,
self.pushButton_numStar, self.pushButton_numZero, self.pushButton_numPound,
self.pushButton_call, self.pushButton_del, self.pushButton_Contacts)
for btn in buttons:
btn.clicked.connect(self.on_clicked)
@QtCore.pyqtSlot()
def on_clicked(self):
current_text = self.number_display.text()
t = self.sender().text()
if t in ("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "*", "#"):
self.number_display.setText(current_text + t)
elif t == "DEL":
self.number_display.setText(current_text[:-1])
elif t == "Call":
print("Call to: "+ current_text)
elif t == "Plp":
print("Plp")
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
w = Dialog()
w.show()
sys.exit(app.exec_())