本教程的重点是使用Python作为编程语言来教授QT框架的使用,为此,我们可以同时使用PySide和PyQt,但是在本教程中,我们将使用PySide,因为本教程的作者更喜欢LGPL PySide许可证。而不是GPL或PyQt商业版。
首先...什么是Python?
根据维基百科:
“ Python是一种非常高级的解释型编程语言,其哲学强调非常简洁的语法,并且有利于可读代码。”
Python是一种multipadradigm编程语言,因此它支持不同的python编程范例,例如,它支持:面向对象编程(OOP),命令式编程(Structured)以及较小程度的函数式编程。
只有这样?
不,它还是一种动态类型化语言,这意味着python允许我们在程序执行期间为同一个变量分配不同类型的值,有些人将其视为一种优势,而另一些则将其视为劣势,请亲自学习。
除了上述内容,Python还允许我们(像许多其他工具一样)在Web环境和Web桌面中进行编程,它也是跨平台的,当前它支持Gnu / Linux,Windows,Mac osx,Android(如果您需要提及它们,修改)。
什么是QT?
QT是最初由诺基亚开发的多平台框架,后来出售给Digia,用于应用程序开发,它是用C ++编写的,但是可以通过Bindings在其他语言中使用(在我们的情况下为PySide或PyQt )
PySide和PyQt之间的区别
主要是
- 许可,PySide根据LGPL条款获得许可,PyQT根据GPL条款或商业许可获得许可,因此在创建封闭式应用程序时,我们需要付费。
- PySide由诺基亚创建,PyQt由RiverBank创建。
- 每次我们使用每个QT对象的QString时,PySide避免了使用STR的麻烦。
我们可以详细说明完整的更改 这里.
准备:
我们安装Qt:
如果我们与Kde有发行版,那么我们应该已经拥有了我们需要的东西,如果没有的话:
sudo apt-get 安装 qt4-dev-tools
我们安装PySide:
sudo apt-get install pyside pyside-tools
我们的第一个Python + QT应用程序
我们转到我们最喜欢的文本编辑器,我建议您安装sublime-text2,但是您可以使用自己喜欢的文本编辑器,然后键入以下代码并将其保存为我们希望始终以扩展名“ .py”结尾的名称,我将另存为app1.py:
我们从控制台像这样运行它:
python app1.py
该窗口应出现
那是什么,因为如果您以前只有一个控制台,那您在抱怨什么? 您期望得到什么,Erp? 来吧,某事开始。
现在让我们解释一下代码:
from PySide.QtGui import *
from sys import exit, argv
在这里,我们导入了执行PySide所需的模块。
app = QApplication(argv)
我们使用名称app创建Qapplication实例。
window = Qwidget()
我们创建QWidget()的实例。
window.setWindowTitle("Primera App PySide")
我们执行setWindowTitle方法,该方法接收一个String作为参数来“设置” Qwidget的标题。
window.show()
我们显示我们的窗口
exit(app.exec_())
最后,我们执行QApplication()的无限执行周期。
谢谢
感谢您在这里关注我并且对我有用的人。 在下一个教程中,我将解释如何使用QT Designer设计窗口并将其导入到我们的项目中。
另外,我添加了论坛的链接 desde linux 我有一个小主题,里面有一个小型的 python 教程和指南库,包含不同的术语,包括:
基本的Python教程
蟒蛇
PyQt和PySide
Django的
网络2Py
python中的科学编程。
还有很多。
我说再见,希望他们能一如既往地为您服务,成为这个美好社区的荣幸。
感谢您的帖子!
2件事:
1. Qt最初不是由诺基亚开发的,而是由奇趣科技开发的,后来被诺基亚收购了。 后者随后将Qt出售给Digia。
2.第一个应用示例中的图像与代码不匹配。
感谢您的教程,我将继续进行🙂
你是完全正确的,我错过了。 第二点,您也是对的,就是我对其进行了更改以使其变得更容易并且不使用类,并且错过了修改(初学者错误)。 我已经通过了更正,以供某些编辑批准。
我无法修改,我将其留给某些编辑器。
问候。
通过电子邮件将正确的教程与编辑联系。 您可以将其发送给编辑之一的@nano的电子邮件
mailto:nano.world.contact@gmail.com
请不要像这样离开本教程
问候
一件事让我震惊:为什么在代码中使用“ from import *”?
的问候!
这是正确的导入方法,当这样进行导入时,您告诉它要导入模块的特定类,而不调用完整的模块。
问候。
我觉得有点混乱。 此外,不建议在PEP8中使用:
“应该避免通配符导入(从模块import *),因为通配符不清楚名称空间中存在哪些名称,这会混淆阅读器和许多自动化工具……”
我主要受专业代码的指导,例如Ninja-Ide,您可以在此处查看代码: https://github.com/ninja-ide/ninja-ide/blob/master/ninja_ide/core/ipc.py它也可以在PyQt中完成,但是无论如何,没有什么可以迫使您使用一种或另一种形式。
在这里,您可以看到有关StackOverflow的讨论,内容如下:
http://stackoverflow.com/questions/710551/import-module-or-from-module-import
在那里,他们提到了每种样式的利弊。
好的,抱歉,我不了解您,我知道,我这样做只是因为我不想对每个元素QApplication,QWidget进行解释,然后再进行概括,但是您绝对正确。
请谅解。
不,您听不懂或没有注意……我的意思是使用“ from module import *”,也就是说,我指的是“ asterisk”……在他们谈论其他内容的那篇StackOverflow文章中,但他们仍然强调:
“这两种方法都是可以接受的,但不要从模块导入*中使用。”
现在明白了吗?
德语是正确的。 如果您为该导入模块导入所有带有星号的内容,那么from模块导入的用途是什么。 Slds同样不错。
嗯,好了,现在我明白了……无论如何,不要花我太多时间,我也是Python的初学者。 如果您停在我的博客上,您会看到我发表了一篇与您相似的帖子,但使用PyGObject使用Gtk + 3。
问候和感谢!
我在这里离开了Pep8,用西班牙语推荐使用im
最好不要使用相对导入来从包中导入代码。 对于所有导入,始终使用包的绝对路径。 即使现在PEP 328 [7]在Python 2.5中已完全实现,仍强烈建议不要使用相对导入; 绝对导入更具可移植性,通常更具可读性。
从模块导入类时,通常这样做是正确的
从myclass导入MyClass
从foo.bar.yourclass导入YourClass
问候
读这个: http://stackoverflow.com/questions/3615125/should-wildcard-import-be-avoided
Alex Martelli(核心py开发人员)建议如下:
from PyQt4 import QtCore, QtGui
我想要更多,因为第二部分!
问候🙂
很好的教程,也可能更适合编程。
这是一个从头开始的界面示例(不使用QtDesigner)。
https://github.com/xr09/metrocontador
dhunter应用程序很棒,在这里我们甚至都不知道他们向我们收取多少电费,哈哈。
谢谢您,它是一款个人使用并为他人服务的应用程序之一。 在古巴,这里的收据已按照汇率细分,很容易复制算法。
我将非常了解此课程。 我对跨平台应用程序很感兴趣,并且我认为Python + QT / Pyside组合是一个不错的选择。 对该倡议的问候和祝贺
我完全按照您说的进行了所有步骤,但是当我在终端中运行app1.py应用程序时,它会告诉我Traceback(最近一次通话为last):
文件“ app1.py”,第1行,在
从PySide.QtGui导入*
ImportError:没有名为PySide.QtGui的模块。 这是什么?
这是因为您使用的是python版本作为默认解释器,但没有为该版本安装pyside。
尝试在文件开头添加:
#!usr / bin / python3
要不然
#!usr / bin / python2
我建议您将Eclipse与pydev一起使用,并正确配置解释器。
SLDS
#!/ usr / bin / python3
要不然
#!/ usr / bin / python2
PySide尚未与Python3兼容,请谨慎操作,其次,它通过交互式python控制台检查导入,因此您知道是否已安装它,并且还会安装pip。
如何验证?
在控制台中使用“ Python”,无论如何,我建议您输入我在帖子下面留下的库并下载“所有人的python”,您需要更多基础。
问候和运气。
非常感谢,这对我很有帮助。
看朋友F3niX我发现了这一点,看来Windows上的python 3.3.2(这是我下周之前要拥有的)它们具有32位和64位的二进制文件,我尝试了您的示例,它适用于python 3.3.2和我使用安装不同环境的PyScripter,如果您打开python 3,它将以python 3的身份运行脚本,如果打开2.7,它将以2.7的身份执行脚本,依此类推(从逻辑上讲,您必须安装该版本的python ...据了解)
http://qt-project.org/wiki/PySide_Binaries_Windows
我会把你留在那儿,八卦,也许它将为别人服务😀
我犯了同样的错误。
您是否安装了PySide?
我已经安装了。
并尝试安装PyQT4,然后更改PyQT4或PyQt4的PySide行,并使其运行。 乔乔。 使用月食。 运气。
我怎么做?。
非常感谢你 !!! 等待第二章
对于这个星期五,我可能会发布它(大学让我有点吃饱)的问候。
朋友F3nIX我正在等待您的教程N°2,3,4…N hehehe
我已经安装了非常优雅的linux,并带有PySide等待功能!
让我们看看何时鼓励他去当新的老师😀
朋友,对不起,我正在草稿中,但是工作和学习没有给我时间,我保证本周会有所收获。
问候
您好,我很久以来一直对学习Python感兴趣,但是我对此有些怀疑。 我想要做的是一个应用程序,以稍微改善我所从事的家族企业的信息流程,我想为Windows做一些事情,首先是在Windows上,它可以在一台PC上全部工作,然后可以通过互联网连接到几台计算机将连接到的数据库。 GUI指导应用程序方面有很多多样性,这让我感到头晕。 您如何推荐它以使其具有现代感和吸引力? 我还将制作一些统计图和打印报告,该怎么用呢? 干杯
您好,很好,您的帖子,我有一个问题,我可以毫无问题地出售我用pyside制作的应用程序吗?
好吧,许可证总是很疯狂,但是免费软件许可证也允许您出售软件,发生的情况是GPL强迫您分发代码,而LGPL并不强迫您这样做。
无论如何,我不是许可专家。
问候。