准备工作
- python3.5以上,目前安装为anaconda
- Qt5.9,安装过程见以前文章
- PyQt5.6,通过anaconda更新
- 示例程序:CRC校验
创建界面
-
通过qt designer设计界面,一个输入text edit,一个输出text edit,一个按键pushbutton,保存".ui"文件到python工程目录
-
创建一个python界面的启动脚本mainwin.py,加入以下内容:
import sys
from PyQt5 import QtCore, QtGui, uic,QtWidgets
qtCreatorFile = "MainWindow.ui" # Enter file here.
Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)
class MyApp(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.setupUi(self)
self.pushButton.clicked.connect(self.CalculateCKV)
def CalculateCKV(self):
stringin = str(self.textEdit_2.toPlainText())
self.textEdit.setText(stringin)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec_())
注意qtCreatorFile = "MainWindow.ui" # Enter file here.
这里要换成相应的.ui文件。
程序流程
window = MyApp()
这里进入__init__(self)
,初始化后创建了一个沟槽self.pushButton.clicked.connect(self.CalculateCKV)
,即pushButton按下后会调用MyApp下面的CalculateCKV函数,CalculateCKV传进来的参数是MyApp里面所包含的,即self包括了pushbutton和textEdit等,直接复制文本显示到另一个文本框中