python在Qt下的界面编程

准备工作

  • python3.5以上,目前安装为anaconda
  • Qt5.9,安装过程见以前文章
  • PyQt5.6,通过anaconda更新
  • 示例程序:CRC校验

创建界面

  • 通过qt designer设计界面,一个输入text edit,一个输出text edit,一个按键pushbutton,保存".ui"文件到python工程目录
    python在Qt下的界面编程_第1张图片

  • 创建一个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等,直接复制文本显示到另一个文本框中

你可能感兴趣的:(python在Qt下的界面编程)