版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_19528953/article/details/79793261
对于PyQt5
的编程,这个网站有一些简单的入门教程,非常不错,比如这个网站。看完后,感觉使用PyQt5
编写界面的程序真的是非常简单,跟我当年直接用qt
编程非常像,果然,以前学习qt
的经验对于使用python
的qt
模块来说非常有用。但是我感觉仅仅使用代码组合成的界面编程不能令我满足,只有QML
与PyQt5
的联合编程才更有意思,于是我就研究了一下如何联合编程,完成了一个简单的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文件的通信的例子就完成了。