学习pyqt(一)————简单介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_19528953/article/details/79793261

对于PyQt5的编程,这个网站有一些简单的入门教程,非常不错,比如这个网站。看完后,感觉使用PyQt5编写界面的程序真的是非常简单,跟我当年直接用qt编程非常像,果然,以前学习qt的经验对于使用pythonqt模块来说非常有用。但是我感觉仅仅使用代码组合成的界面编程不能令我满足,只有QMLPyQt5的联合编程才更有意思,于是我就研究了一下如何联合编程,完成了一个简单的QML和PyQt5的联合编程的例子。

QML代码如下:

import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1

ApplicationWindow{
    visible:true
    width:640
    height:480
    id:window
    title: "editor"

    signal textUpdated(string text)


    TextArea{
        text:"hello"
        onTextChanged: textUpdated(text);
    }

}

有了qml文件后,我们就可以根据该文件进行python文件的编写,把里面的
信号传递给python文件中,代码如下:

import sys
from PyQt5.QtCore import QObject, QUrl, Qt
from PyQt5.QtWidgets import QApplication
from PyQt5.QtQml import QQmlApplicationEngine

def show(text):
    print(text)


if __name__ == "__main__":
  app = QApplication(sys.argv)
  engine = QQmlApplicationEngine()
  engine.load('main.qml')
  win = engine.rootObjects()[0]
  win.textUpdated.connect(show)
  win.show()
  sys.exit(app.exec_())

这样,一个简单的python和Qml文件的通信的例子就完成了。

下一篇:学习pyqt (二)————信号/槽&主次界面&主次线程编程经验总结

猜你喜欢

转载自blog.csdn.net/qq_19528953/article/details/79793261
今日推荐