当前位置: 首页 > news >正文

在农村做相亲网站怎么样北京自己怎么做网站

在农村做相亲网站怎么样,北京自己怎么做网站,蚌埠注册公司,网站修改后怎么上传对于Python3和QML通信#xff0c;实际上就是 PyQt5QMLPython3混合编程#xff0c;这是必须的#xff0c;因为QML做图形界面比较容易#xff0c;但是做功能实现就用Python比较好#xff0c;虽然QML也能嵌入 JavaScript代码进行实现#xff0c;但是这样话还不如用Python来实…对于Python3和QML通信实际上就是 PyQt5QMLPython3混合编程这是必须的因为QML做图形界面比较容易但是做功能实现就用Python比较好虽然QML也能嵌入 JavaScript代码进行实现但是这样话还不如用Python来实现代码简洁、易懂。对于以下的例子参考了如下的连接Connecting QML signals in PySidePyQt 5.1.1 Reference Guide - Support for Signals and Slots(1)QML显式的调用Python函数定义一个类并继承QtCore.QObject对象并使用修饰符修饰pyqtSlot123456789class MyClass(QObject):pyqtSlot(str)    # 传递参数类型字符串def outputString(self, string):功能: 创建一个槽参数: 输出的数据string返回值: 无print(string)创建rootContext对象并使用setContextProperty(string, object)注册对象这样在QML中就可以调用这个函数了。12context  view.rootContext()context.setContextProperty(con, con)如下是一个完整的例子这个例子运行后如果点击鼠标的话会在控制台打印字符串。Python3代码1234567891011121314151617181920212223242526# -*- coding: GBK -*-from PyQt5.QtCore import QUrl, QObject, pyqtSlotfrom PyQt5.QtGui import QGuiApplicationfrom PyQt5.QtQuick import QQuickViewclass MyClass(QObject):pyqtSlot(str)    # 输入参数为str类型def outputString(self, string):功能: 创建一个槽参数: 输出的数据string返回值: 无print(string)if __name__  __main__:path  test.qml   # 加载的QML文件app  QGuiApplication([])view  QQuickView()con  MyClass()context  view.rootContext()context.setContextProperty(con, con)view.engine().quit.connect(app.quit)view.setSource(QUrl(path))view.show()app.exec_()QML代码(文件名保存为test.qml)123456789101112131415161718import QtQuick 2.0Rectangle {width: 320; height: 240color: lightgrayText {id: txttext: Clicked mefont.pixelSize: 20anchors.centerIn: parent}MouseArea {id: mouse_areaanchors.fill: parent  // 有效区域onClicked: {con.outputString(Hello, Python3)}}}运行结果如下(2)QML调用Python函数并返回这个例子跟上一个相类似只是这次调用Python的函数具有返回值功能。以下是一个完整的例子运行程序后点击鼠标左上角会显示数字30。Python3代码123456789101112131415161718192021222324# -*- coding: GBK -*-from PyQt5.QtCore import QUrl, QObject, pyqtSlotfrom PyQt5.QtGui import QGuiApplicationfrom PyQt5.QtQuick import QQuickViewclass MyClass(QObject):pyqtSlot(int, resultstr)    # 声明为槽输入参数为int类型返回值为str类型def returnValue(self, value):功能: 创建一个槽参数: 整数value返回值: 字符串return str(value10)if __name__  __main__:path  test.qml   # 加载的QML文件app  QGuiApplication([])view  QQuickView()con  MyClass()context  view.rootContext()context.setContextProperty(con, con)view.engine().quit.connect(app.quit)view.setSource(QUrl(path))view.show()app.exec_()QML代码(文件名保存为test.qml)12345678910111213141516171819202122232425import QtQuick 2.0Rectangle {id: rootwidth: 320; height: 240color: lightgrayText {id: txttext: Clicked mefont.pixelSize: 20anchors.centerIn: parent}Text {id: txt1text: ...font.pixelSize: 20}MouseArea {id: mouse_areaanchors.fill: parent  // 有效区域onClicked: {console.log(test...)  // 控制台打印信息txt1.text  con.returnValue(20)}}}运行效果如下未点击鼠标时                                                              点击鼠标之后(3)QML连接信号到Python当QML触发事件的时候发射一个信号给Python此时Python调用一个函数。先在QML中定义一个信号1signal sendClicked(string str) // 定义信号然后在捕获事件的时候发射信号1234567MouseArea {id: mouse_areaanchors.fill: parent  // 有效区域onClicked: {root.sendClicked(Hello, Python3)    # 发射信号到Python}}最后Python中创建一个rootObject对象然后连接这个对象1234567def outputString(string):功能: 输出字符串参数: 输出的数据string返回值: 无print(string)12context  view.rootObject()context.sendClicked.connect(outputString)   # 连接QML信号sendCLicked以下是一个完整的例子这个例子中当点击鼠标的时候控制台会打印信息。Python3代码12345678910111213141516171819202122232425# -*- coding: GBK -*-from PyQt5.QtCore import QUrl, pyqtSlotfrom PyQt5.QtGui import QGuiApplicationfrom PyQt5.QtQuick import QQuickViewdef outputString(string):功能: 输出字符串参数: 输出的数据string返回值: 无print(string)if __name__  __main__:path  test.qml   # 加载的QML文件app  QGuiApplication([])view  QQuickView()view.engine().quit.connect(app.quit)view.setSource(QUrl(path))view.show()context  view.rootObject()context.sendClicked.connect(outputString)   # 连接QML信号sendCLickedapp.exec_()QML代码(文件名保存为test.qml)12345678910111213141516171819202122import QtQuick 2.0Rectangle {id: rootwidth: 320; height: 240color: lightgraysignal sendClicked(string str) // 定义信号Text {id: txttext: Clicked mefont.pixelSize: 20anchors.centerIn: parent}MouseArea {id: mouse_areaanchors.fill: parent  // 有效区域onClicked: {root.sendClicked(Hello, Python3)    # 发射信号到Python}}}运行结果如下(4)Python调用QML函数QML中创建一个函数123function updateRotater() {rotater.angle  45}Python中创建一个rootObject对象并连接这个函数12root  view.rootObject()timer.timeout.connect(root.updateRotater)以下是一个完整的例子例子中每隔1s指针会旋转45°。Python3代码123456789101112131415161718192021# -*- coding: GBK -*-from PyQt5.QtCore import QUrl, QTimerfrom PyQt5.QtGui import QGuiApplicationfrom PyQt5.QtQuick import QQuickViewif __name__  __main__:path  test.qml   # 加载的QML文件app  QGuiApplication([])view  QQuickView()view.engine().quit.connect(app.quit)view.setSource(QUrl(path))view.show()timer  QTimer()timer.start(2000)root  view.rootObject()timer.timeout.connect(root.updateRotater)app.exec_()QML代码(文件名保存为test.qml)123456789101112131415161718192021222324import QtQuick 2.0Rectangle {id: pagewidth: 500; height: 200color: lightgrayfunction updateRotater() {rotater.angle  45}Rectangle {id: rotaterproperty real angle : 0x: 240; y: 95width: 100; height: 5color: blacktransform: Rotation {origin.x: 10; origin.y: 5angle: rotater.angle}}}运行结果如下本人水平有限如果有疏漏之处欢迎指点。
http://www.pierceye.com/news/849917/

相关文章:

  • 个人建设门户网站 如何备案网站推广服务报价表
  • 广州企业网站建设哪家服务好西安家政公司网站建设
  • 住房与城乡建设部网站 黑龙江wordpress 采集系统
  • 阜阳网站建设云平台玉溪建设局门户网站
  • 网站建设什么原因最主要怎么制作网站首页
  • 网站建设深圳赶集网网页设计工程师工资
  • 哪家企业网站建设好闵行区网站制作
  • 重庆行业网站建设陕西省建设监理协会查询官方网站
  • 手机网站 尺寸网站规划的认识
  • 永川网站制作联系电话wordpress 参数 传递
  • 西宁市网站建设高端网站开发人员要求
  • 前端做商城网站需要多久yum wordpress
  • 便宜网站建设成都免费建网站视频教程
  • 班级网站自助建设功能没有充值入口的传奇
  • 杭州网站seo免费网站建设
  • 好看的网站设计网站开发龙岗网站建设
  • 物流如何做网站wordpress qq互联插件
  • 权威发布李建济南做seo排名
  • 六安网站建设 220广州安尔捷做的网站好吗
  • 企业网站写好如何发布wordpress免插件生成地图
  • 公司 网站 苏州链接下载
  • 网站页面设计素材网站做权重的方法
  • 网站优化标题怎么做宿迁房产网备案查询
  • 建设企业官方网站的流程秦皇岛网站备案
  • 北京网站优化前景建设银行包头分行网站
  • 南京江宁区住房建设局网站电商交流平台有哪些
  • 查询网站流量排名做网站 我们的工人怎么写
  • 龙岗-网站建设深圳信科免备案的网站空间
  • 360网站推广官网软件安徽海外网络推广
  • c# asp.net网站开发书考试网站怎么做的