pyqt5 之 实现界面与逻辑分离

    使用pyqt5进行编程,使用pyhcarm+designer,其中designer直接生成ui文件,通过pyuic5 命令将生成的ui文件转化为py文件,比如:rdpgui.py,图形界面py文件只管图形的事情,信号+槽另外一个py文件,比如:MainWindow.py,最后一个主文件,比如:main.py文件中主函数执行实例化上面这个MainWindow.py ,并调用show() 显示。逻辑关系是这样的:

    rdpgui.py -> MainWindow.py -> main.py

    本文参考了这个网址:

    https://blog.csdn.net/yizhou2010/article/details/63252704


MainWindow.py内容如下:

PyQt5 QtCore, QtGui, QtWidgets
rdpgui Ui_RDPGUI
MainWindow(QtWidgets.QMainWindow, Ui_RDPGUI):
    (, parent=):
        (MainWindow, ).(parent)
        .setupUi()
        #以下写信号+槽相关内容
    # self.Title.setText("hello Python")
    # self.World.clicked.connect(self.onWorldClicked)
    # self.China.clicked.connect(self.onChinaClicked)
    # self.lineEdit.textChanged.connect(self.onlineEditTextChanged)

# def onWorldClicked(self, remark):
#     print(remark)
#     self.Title.setText("Hello World")
#
# def onChinaClicked(self):
#     self.Title.setText("Hello China")
#
# def onlineEditTextChanged(self,p_str):
#     self.Title.setText(p_str)

    

main.py 内容如下:

MainWindow MainWindow
rdpgui *__name__ == :
    sysapp = QApplication(sys.argv)mainWindow = MainWindow()
    mainWindow.setWindowFlags(QtCore.Qt.FramelessWindowHint)
    mainWindow.show()
    mainWindow.setFixedSize(mainWindow.size());
    sys.exit(app.exec_())


这样逻辑是不是非常清楚、简洁了呢,哈哈。




猜你喜欢

转载自blog.51cto.com/yuweibing/2448624