从书中学习PyQt. Python的C风格代码太多了?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了从书中学习PyQt. Python的C风格代码太多了?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1667字,纯文字阅读大概需要3分钟。
内容图文
![从书中学习PyQt. Python的C风格代码太多了?](/upload/InfoBanner/zyjiaocheng/785/c2bd2860e9264bd68e23aafaa1c95562.jpg)
Summerfield的“使用Python和Qt进行快速GUI编程”.我一般都喜欢这本书.前几章是我在网上或其他地方找到的最好的Python入门,这些例子多种多样且有用(虽然不完美,但有一些填充和回溯肯定 – 它可能更直接).
我的问题是,我觉得我可能会从中汲取不良习惯.作者不是仅仅动态地为现有对象分配新属性,而是使用“setData”函数,特殊的MIMEData插槽和诸如此类的东西.这是我在Stackoverflow上提出的第一个问题之一的一个很好的例子:
Setting and getting “data” from PyQt widget items?
或者,例如,在页面设计器应用程序中:
def writeItemToStream(self, stream, item):
if isinstance(item, QGraphicsTextItem):
stream << QString("Text") << item.pos() << item.matrix() << item.toPlainText() << item.font()
elif isinstance(item, QGraphicsPixmapItem):
stream << QString("Pixmap") << item.pos() << item.matrix() << item.pixmap()
elif isinstance(item, BoxItem):
stream << QString("Box") << item.pos() << item.matrix() << item.rect
stream.writeInt16(item.style)
我是否认为作者的C / Qt背景可能使他的例子不是最优的?或者我应该继续尝试理解他的很多选择吗?
解决方法:
你必须记住PyQt4是对Qt的绑定.对于API兼容性而言,在一个中完成的许多内容在另一个中是相同的.
显然,C是一种静态类型语言,python允许您简单地将属性分配给对象,但不要将其与setData调用之类的东西混淆.通常,这些调用会设置不向您公开的内部成员.这是绑定方面有意义的地方.为了让C对象获得他们期望的交互,你通常需要在pyqt中使用相同的api
与C相关的一个例子是QVariant.它是一个可以代表许多不同类型的对象. Python通常不需要这种对象,但C会在一个对象中保存动态类型.使用说QSettings或模型/视图组件时,您将不得不处理此对象.
那本书是一个很好的学习工具,我建议不要考虑养成坏习惯. Mark知道需要教授什么才能理解PyQt.一般来说,当你学习python时,你很容易就能做出这些区分.
内容总结
以上是互联网集市为您收集整理的从书中学习PyQt. Python的C风格代码太多了?全部内容,希望文章能够帮你解决从书中学习PyQt. Python的C风格代码太多了?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。