PyQt5教程-01-最简单的窗口
来源:互联网 发布:uwp下载软件 编辑:程序博客网 时间:2024/05/20 05:25
这是在屏幕上显示一个空白窗口的简单例子。虽然简单,却有很多需要我们控制的内容,比如,我们可以调整它的大小,最大化或最小化,背景色等等。实现这些功能需要大量的编码,值得庆幸的是PyQt5已经将这些需要重复使用的功能以函数或模块的形式编写好了保存在文件中。因此我们没有必要从零开始的重新编写代码去实现这些功能而是直接调用即可。 PyQt5是一个高层次的工具包。如果我们使用一个较低水平工具箱编写代码,下面的代码示例将会达到数百行之多。
#!/usr/bin/python3# -*- coding: utf-8 -*-"""PyQt5 教程在这个例子中,我们创建了一个PyQt5最简单的窗口。作者:我的世界你曾经来过博客:http://blog.csdn.net/weiaitaowang最后编辑:2016年7月29日"""import sysfrom PyQt5.QtWidgets import QApplication, QWidgetif __name__ == '__main__': app = QApplication(sys.argv) w = QWidget() w.resize(250, 150) w.move(300, 300) w.setWindowTitle('简单窗口') w.show() sys.exit(app.exec_())
上面的代码示例执行后将在屏幕上显示一个空白的窗口。
import sysfrom PyQt5.QtWidgets import QApplication, QWidget
上面两行为将需要用到的模块引入。基本的控件都位于 PyQt5.QtWidgets 模块。
app = QApplication(sys.argv)
每个 PyQt5应用程序必须创建一个应用程序对象。Python 脚本可以从 shell中运行,sys.argv 参数是一个命令行列表参数,它告诉程序通过何种方式启动我们的脚本。
w = QWidget()
QWidget 控件是PyQt5中所有用户界面对象的基类。该控件为我们提供了默认的构造函数,默认的构造函数中显示该控件不继承任何父类。在PyQt5中没有父类的控件被定义为窗口。
w.resize(250, 150)
resize() 方法是调整控件的大小,这里设置成宽 250px 和高 150px 。
w.move(300, 300)
move() 方法是移动控件到屏幕上的一个位置,这里设置成 x=300,y=300 。
w.setWindowTitle('Simple')
这里为窗口设置标题,标题显示在窗口的标题栏中。
w.show()
show() 方法为在场景中显示控件。所有控件首先在内存中创建,然后在显示在屏幕中。
sys.exit(app.exec_())
最后,我们进入应用程序的主循环。事件处理从这点开始。主循环从窗口系统接收事件,并将它们分派给应用程序窗口部件。当结束主循环时如果我们调用 exit() 方法主控件将直接被销毁, sys.exit()方法为了确保干净的退出,环境将告知应用程序如何结束。
exec_() 方法后缀下划线是因为 exec 是 Python 的关键字。因此,用 exec_()代替。
程序执行后
- PyQt5教程-01-最简单的窗口
- PyQt5学习教程1:最简单的窗体
- PyQt5 简单GUI窗口的创建
- PyQt5教程-04-关闭窗口
- PyQt5教程-06-窗口居中
- PyQt5教程-18-窗口分隔
- PyQt5教程 - QtDesigner窗口设计工具的使用
- 最简单的可视窗口
- markdown最简单的教程
- 最简单的Git教程
- 最简单的win32的窗口程序
- PyQt5 - QWidgets部件进阶教程之日历窗口部件
- 最简单的一个wxPython窗口
- 最简单的窗口(Gtk+ for Linux)
- 一个最简单的窗口程序
- 最简单的窗口弹出程序
- 自建最简单的调试窗口
- GUI 最简单的Frame小窗口
- UIStackView
- 摇一摇
- 判断线程运行状态的两种方法
- HIHOCODER KMP
- 浅谈属性动画
- PyQt5教程-01-最简单的窗口
- POJ1743Musical Theme求解不重叠的最长子串长度(后缀数组+二分求解)
- mget 同时获取
- TextView常用功能
- 2016 多校3 1009 Palindrome Bo 回文串dp+优化
- Android静态安全检测 -> 证书弱校验
- iOS下的智能硬件开发遇到的问题总结
- HDu1166敌兵布阵(树状数组)
- SpringMVC报错The request sent by the client was syntactically incorrect ()