PySide2提供了一个Property函数,它允许声明同时表现为Qt和Python属性的属性,并将其setter和getter定义为Python函数。

下面给出了一个简单的示例,说明如何从Python定义和访问Qt属性:

from PySide2.QtCore import QObject,Propertyclass StudentMsg(QObject):"""docstring for StudentMsg"""def __init__(self):QObject.__init__(self)def readMsg(self):return self.msgvaldef setMsg(self,msg):self.msgval = msgMSG = Property(str,readMsg,setMsg)student = StudentMsg()
student.MSG = "aaa"print(student.MSG)

如果要在QML表达式中调用对象的属性,则QML要求属性为在变化时有信号通知。所以需要在上面示例的基础上增加一个信号:

from PySide2.QtCore import QObject,Property,Signalclass StudentMsg(QObject):"""docstring for StudentMsg"""def __init__(self):QObject.__init__(self)msg_changed = Signal(str)def readMsg(self):return self.msgvaldef setMsg(self,msg):self.msgval = msgself.msg_changed.emit(msg)MSG = Property(str,readMsg,setMsg,notify = msg_changed)student = StudentMsg()
student.MSG = "aaa"print(student.MSG)

Qt for Python使用Qt中的Properties相关推荐

  1. 在Qt for Python应用程序中使用Designer UI文件

    在Qt for Python应用程序中使用Designer UI文件 在Qt for Python应用程序中使用Designer UI文件 将表单转换为Python代码 UiTools方法 在Qt f ...

  2. linux pyside2 安装包,Qt for Python 5.12发布下载,附PySide2和Shiboken2介绍

    Qt for Python 5.12(全称 Qt for Python for Qt 5.12) 发布下载了,这是一个没有 LTS 支持的版本,在终端中执行 pip install PySide2 命 ...

  3. PyQt(Python+Qt)学习随笔:Qt Designer中部件的调色板palette属性和字体font属性设置

    一.调色板 在Qt Designer的部件属性中,有个部件调色板(palette)的属性,进入后,如下图所示: 1.调色板palette Qt中提供的调色板palette用于管理控件的外观显示,对应P ...

  4. PyQt(Python+Qt)学习随笔:Qt Designer中部件的accessibleDescription和accessibleName辅助阅读属性

    accessibleDescription和accessibleName属性都是用于残疾人辅助阅读的,这两个属性都有国际化属性(关于国际化请参考<PyQt(Python+Qt)学习随笔:Qt D ...

  5. linux python qt 安装目录,Linux 下QT调用Python库文件 以及Linux 安装Python3.8开发环境 问题...

    最近想运用linux系统下Qt来实现c++ 与python的混合编程,linux系统会自带python2.7版本或者python3.5版本(深度linux). Qt调用python文件需要在pro文件 ...

  6. Qt for Python Mac下使用 fbs 打包软件

    Python打包工具 Python的常用的打包工具包括:fbs.PyInstaller.cx_Freeze.py2exe.py2app,而Qt for Python是一个跨平台的框架,因此我们希望专注 ...

  7. Qt for Python 信号和槽的使用详解

    前言 如果要说 Qt 里面的最常听到的词,那么 "信号"(signals)和"槽"(slots)绝对是其中之一了,其功能简单强大,想必每个 Qt 程序员最能理解 ...

  8. python 读取鼠标选中文本_木辛老师的编程课堂:Python和Qt之页面布局实战篇(一)...

    通过前几节课的学习,我们已经基本上掌握了使用Qt Designer完成简单的布局管理.通过这些知识的学习,我们算是对PyQt进行了初步的了解,也算是入门了! 但是仅仅掌握这些知识还是远远不够的: 高深 ...

  9. myeclipse窗口布局控件任意_木辛老师的编程课堂:Python和Qt第2讲之布局管理初探(三)...

    在主窗口中放置多个控件,最好的方法是使用布局.控件的布局是学习PyQt路上比较关键也也是比较难理解的部分,赶快跟着木辛老师一起去看看吧. 请点击右上角"关注"按钮关注我们哟:跟着木 ...

最新文章

  1. swift轮播图代码
  2. 12306系统的秒杀“艺术”:如何抗住100万人同时抢1万张票?
  3. HarmonyOS 2面世!是没有退路还是时机成熟?中国操作系统崛起元年或已到来
  4. anaconda怎么运行python程序_第一个python程序,从安装python环境到人生第一个py脚本运行全过程...
  5. ubuntu笔记:查看Ubuntu的包依赖关系
  6. Trilogy公司的笔试题:根据指定规则用最少的步骤将数转为1
  7. graph-easy使用简介
  8. [设计模式] - Proxy代理模式
  9. Java中null和浮点数相乘_jvm规范之浮点数 - 你知道吗,有个数字它和自身不相等...
  10. Python数据结构,线性结构:栈、队列、双端队列、列表
  11. 永不失联?iPhone 13或将支持低轨道卫星通讯
  12. 计算机科学与技术专业读书笔记300字,计算机读书笔记.doc
  13. AI已经参与论文打假了
  14. 潮汕“七样羹”,吃了变后生
  15. 在线教育数据分析实战项目案例
  16. linux下打印pdf文件很慢,打印机打印pdf文件特别慢怎么解决
  17. 【组合数学】组合恒等式 ( 组合恒等式 积之和 1 | 积之和 1 证明 | 组合恒等式 积之和 2 | 积之和 2 证明 )
  18. 联想拯救者Y9000P 2022 配置
  19. 见缝插针小程序php,抖音小程序怎么开通
  20. 微信支付 body不是UTF编码格式

热门文章

  1. 吴恩达新书《Machine Learning Yearning》手稿完工,现在全集免费下载!(附pdf下载)
  2. 【人物专访】朱玲——我在网易云当女程序媛
  3. CSS进阶(10)—— 深入理解BFC结界
  4. 深度学习入门篇--手把手教你用 TensorFlow 训练模型
  5. Gym-100676E Time Limit Exceeded?
  6. 本地Run Page时报检测到意外的 URL 参数,它将被忽略。
  7. centos6系统优化脚本
  8. springmvc国际化
  9. 读书笔记:人月神话的博客积极的心态读后感
  10. Silverlight3实现按路径运动[原创]