前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PyQT 入门(1):程序基础框架

PyQT 入门(1):程序基础框架

作者头像
bear_fish
发布2018-09-20 14:33:41
5560
发布2018-09-20 14:33:41
举报
文章被收录于专栏:用户2442861的专栏

http://www.cnblogs.com/answeryi/archive/2012/09/27/2705860.html

主要内容


  • 主要了解PyQt程序的整体框架;
  • 涉及模块:QApplication, QLabel , QTimer

实例讲解


首先先看一个简单的PyQt程序:

1 2 3 4 5 6 7 8 9 10

import sys from PyQt4.QtGui import * from PyQt4.QtCore import *   app = QApplication(sys.argv) label = QLabel("<font color=red size=128><b>Hello PyQT!</b></font>") label.setWindowFlags(Qt.SplashScreen) label.show() QTimer.singleShot(10000, app.quit) # 设置10s后自动退出 app.exec_()

 先看导入内容,PyQt中与界面有关的模块一般在QtGui中,而QtCore中包含了很多基本组件。

 应用程序整体框架为:

app = QApplication(sys.argv) #... app.exec_()

 中间省略的部分即为自己实现的界面部分,上面的小例子中,将会出现一个小窗口,显示“Hello PyQT!”,接下来一行一行分析。

第6行,我们声明了一个QLabel ,它支持类似于html的语法;

第7行,我们将窗口类型设置为闪屏,这种窗口没有边框,一般用于软件启动画面;若将这句话注释掉,会得到一个正常窗口;

第8行,我们把它的属性设置为可见;

第9行中,我们用QTimer设置定时,10s后退出程序。

简要总结:


  •  PyQt 程序整体框架, QApplication
  •  QLabel 标签组件:显示内容
  •  QTimer定时组件:完成时间调度任务

扩展知识:


QLabel是一种经常使用的的组件,下面的程序提供了更多的关于QLabel用法

主要涉及模块:QFont, QPixMap, QFontMetric, QPainter, QTextDocument, 

QLabel 方法:

label.setPixmap(pixmap)

label.setMask(pixmap.createMaskFromColor(Qt.red))

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

import sys from PyQt4.QtGui import * from PyQt4.QtCore import *   msg = "Hello PyQt!" app = QApplication(sys.argv) font = QFont("Times New Rome", 36, QFont.Bold) fm = QFontMetrics(font) pixmap = QPixmap(fm.width(msg) + 5, fm.height() + 5) pixmap.fill(Qt.white) painter = QPainter(pixmap) document = QTextDocument() document.setDefaultFont(font) document.setHtml("<font color=red>%s</font>" % msg) document.drawContents(painter) label = QLabel() label.setPixmap(pixmap) label.setMask(pixmap.createMaskFromColor(Qt.red)) #label.setWindowFlags(Qt.SplashScreen|Qt.FramelessWindowHint) label.show() QTimer.singleShot(10000, app.quit) # 1 minute app.exec_()

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015年04月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档