在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → PyQt入门指南

PyQt入门指南

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.69M
  • 下载次数:19
  • 浏览次数:174
  • 发布时间:2020-10-01
  • 实例类别:一般编程问题
  • 发 布 人:robot666
  • 文件格式:.zip
  • 所需积分:2
 

实例介绍

【实例简介】
PyQt的入门书籍,PyQt的书籍不好找啊
抽象的工具包,因此,如果我们使用较底层的工具包来实现相同的功能,下面的示例代码就 会增长很多。 +!/usr/bin/python mple. py import sys from PyQt4 import qtGui app= QtGui QApplication(sys. argv) widget QtGui. QNidget o) widget. resize(250,150) i get. seWindowTitle('simple) get show() sys. exit(app. exec () ======= import sys from PyQt4 import otGui 这两句用来载入必须的模块。基本的GUI窗口部件在 QiGui模块中 app=QtGui QApplication (sys. argv) 每一个PyQ+4稈序都需要有一个 application对象, application类包含在Qt(u模块中。 sys.argv参数是一个命令行参数列表。 Python脚本可以从shel中执行,参数可以让我们选择 启动脚木的方式。 widget=QtGuiQWidget() QWidget部件是PyQt4中所有用户界面类的父类。这里我们使用没有参数的默认构造函 数,它没有继承其它类。我们称没有父类的 widget为一个 window widget. resize(250, 150) resize(方法可以改变窗∏部件的大小,在这里我们将其设置为250像素宽,150像素扃 widget. setwindowfi-le('simple ') 这句用来设置窗口部件的标题,该标题将在标题栏中显示 widget. show() showo方法将窗口部件显示在屏幕上 sys.exit(app.exec () 最后我们进入该稈序的主循环。事件处理从本行语句开始。主循环接受事件消息并将其 分发给程序的各个部件。如果调用 exit(或主部件被销毁,主循环就会结束。使用sys. exit( 方法退出可以确保程序可以完整的结束,这种情况下系统的环境变量会记录程序是如何退出 的 也许你会疑惑,为什么exec_(方法会有个下划线。这是因为exe是 Python的关键字, 为避免冲突,PyQt使用 exec O替代。 L. simple 截图: simple 13程序图标 程疗图标就是一个小图片,通常显示在程序标题栏的左上角。在以下的示例中,我们将 学习如何在Pyt中使用程序图标,另外我们还将学习一些新的方法。 t!/ usr/bin/python H icon. py Imporl sys from Py Qt4 import Qtqui class Icon(QtGui Q Widget) def init (self, parent= None) QiGuiQ Widget. init (self, parent) self. setGeometry(300, 300, 250, 150) self set Window Title(lcon) sclfsct Window Icon(QtGrui QIcon(icons/wcb. png)) app-QtGui. QApplication(sys. argv) icon=Icono icon. showo sys.cxit(app. CCc O) 上:一个示例采用了面向过稈的方法编写。 Python语言同时支持面向过程和面向对象两 种编程方法。Pyt编程是面向对象的 class Icon(QiGui Q Widget dcf init (sclf, parent= Nonc) QtGui. QWidget. init (self, parent) 面向对象编程中最重要的是类、属性和方法。以上代码中,我们创建了一个名为Icon 的新类,该类继承 QtGui QWidget类。因此我们必须调用两个构造函数con的构造函数 和继承类 QiGui. QWidget类的构造函数 self. setGeometry (300, 300, 250, 150) cIf sct window Title(to self set Windowlcon(QtGui QIcon (icons/web. png)) setGeometryO方法完成两个功能——设置窗口在屏幕上的位置和设置窗口本身的大小。 它的前两个参数是窗口在屏幕上的x和y坐标。后两个参数是窗口本身的宽和高。 set Window Icone(方法用来设置程序图标,它需要一个Qcon类型的对象作为参数。调用Qon 构造函数时,我们需要提供要显示的图标的路径(相对或绝对路径) s Io 截图:Icon 14显示提示信息 我们可以为任何窗口部件设置一个气球提示。 #!/usr bin/python ooltip py Import sys from PyQ14 import QIGui from PyQt4 import Qt Core class Tooltip(QtGui Q Widget dcf init (sclf, parent- Nonc QtGui. QWidget. init (self, parent) self. setGeometry(300, 300, 250, 150) self. setWindow Title( Tooltip') self. setToolTip(This is a <b>QWidget</b> widget) QtGui. QToolTip set Font(QtGui Q Font('OldEnglish, 10) app=QtGui. QApplication( sys. argy) tooltip= Tooltip Tooltip. showO sys. cxit(app. ccc O) 在本小例中,我们为一个 QWidget类型的窗口部件设置工具提小。 self set ToolTip( This is a <b>QWidget</b>widget) 要创建工具提示,则需要调用 selToolTip)方法。该方法接受富文木格式的参数。 Qt Gui. QToolTip setFont(QtGui Q Font('oldEnglish, 10)) 因为默认的QT¤oTj宇体看起来比较糟糕,我们可以通过上面的语句设置想要的字体 和字体大小 D. Tooltip 回x Thi Widget widget 截图: tooltip 关闭窗口 个显而易见的关闭窗口的方式是单击标题栏右上角的X标记。在接卜来的示例中, 我们将展示如何用代码来关闭稈序,并简要介绍Qt的信号和槽机制。 下面是 QPushButton的构造函数,我们将会在下面的示例中使用它 QPushButton( string text, Q Widget parent None) text表示将显示在按钮上的文本。 parent是其对象,用于指定按钮显示在哪个部件中。 在我们的示例中, parent为是一个 QWidget对象。 t!/usr/bin/python t quitbutton. y Import sys from PyQt4 import QtGui, QtCore class QuitButtonQtGuiQ Widget) def init (self, parent= None) QtGui.Q Widget. init (self, parent) self. setGeometry (300, 300, 250, 150) self set Window Title('quitbutton) quit=QtGui QPush Button(C quit set Geometry(10, 10, 60, 35) sclf connect(quit, Qt Corc. SIGNALCclickcdo), Qt Gui gApp, QtCore slot 'quitO) app=QtGui Q Application(sys. argv) gb= QuitButlono gb showO sys. exit(app. exec O) it=QtGui QPush Button(Clo quit. setGeometry(10. 10, 60. 35) 以上两句用来创建一个按钮并将其放在 QWidget部件上,就像我们将 QWidget部件放 在屏幕上一样。 self connect(quit, QtCore SiGNALCclickedo), QtGui qApp, QtCore slot quito) PyQt4的事件处理系统建京在信号-槽机制之上。如果我们单击quit按钮,那么信号 clicked)就会被触发,槽函数可以是PyQt自带的槽函数,也可以是任何 Python可以调用的 函数等。 Qtcore: QObject connect0方法可以将信号和槽函数连接起来。在我们的示例中槽函 数是Pyt中已定义的 quito函数。通过 connect方法就可以建立发送者(qut按钮)和接受 者(应用程序对象)之间的通信。 国qten回回rx 「 Close 截图: quitbutton 消息窗口 默认情况下,如果我们单击了窗∏标题栏上的ⅹ标记,窗∏就会被关闭。但是有些时 候我们恕要改变这一默认行为。比如,我们正在编辑的文件内容发牛了变化,这时若单击X 标记关闭窗口,编辑器就应当弹出确认窗口。 #!/usr/bin/python messageboxpy mport sys from PyQt4 import QtGui class MessageBox(QtGui Q widget) def init(self, parent= None) ui.QWidgct. init (sclf, self. setGeometry (300, 300, 250, 150 self set Window Title('message box,) def closeEvent(self, evenL) reply-QtGui. QMessageBox question(self, Message Are you sure to quit?, QtGui QMessageBox. Yes, QtGui. QMessageBox Ne If reply==Qt Gui. QMcssagcBox Ycs enl. accept else event. ignore app=QtGui. QApplication(sys. argv) gb- Message Boxo gb showO sys.exit(app. exec O) 如果我们关闭 WIdget窗口, QClosc Evcnt事件就会被触发。要改变原有的 wdigct行为 阻止查窗∏的关闭,我们就需要重新实现 closeevente(方法。 reply=QtGui.QMessageBox question ( self, Message Are you sure to quit? QtGui QMessage Box Yes QiGui. QMessageBox No 通过上面的语句我们可以显示一个带有两个按钮(Yes/No)的消息窗口。第一个字符串 参数" Message‘在消息窗冂的标题栏显示。第二个字符串参数以对话的形式显示在消息窗冂 中。返叵的结果被保存在 reply变量中 if reply ==Qt Gui. QMessageBox Yes evenL. accept event. ignore 我们使用上面的if语句来判断用户选择的结果。如果用户选择了Yes按钮,那么关闭 widget窗口并终止应用程序的动作会破允许执行。否则,关闭窗口的动作会被忽略。 回 Message Are you sure to quit? Yes No 截图: messagebox 将窗口放在屏幕中间 以卜的脚木显示了将窗口放在屏幕的中间位置的方法。 #!/usr/bin/python center mport sys from PyQu import QLGui lass Center(QtGuiQ Widget) def init (self, parent= None) QtGui. QWidgct. init (sclf, parent) self set w self. resize(250, 150) self center( def center(self) screen-QtGui Q Desktop Widget( screen Geometry( size= self geometry self.move(screen. widtho-size width)/2, (scrccn. hcighto-sizc. height)/2 pp=Qt Gui. QApplication(sys. argv) gb=Center qb showO sys. exit(app. exec O) self. resize 该语句用来设置 QWidget窗口的大小为250像素宽,150像素高 screen-QtGui Q Desktop Widget. screen Geometry 该语句用来计算出显示器的分辨率( screen. width, screen. height) size= self geometry 该语句用来获取 WIdget窗口的大小(size. width, size height) self move((screen width(-size. width)/2,(screen height()-size. height)/2) 该语句将窗口移动到屏幕的中间位置。 3PyQt4中的菜单和工具栏 主窗口 QMain Window类用米创建应用程序的主窗口。通过该类,我们可以创建一个包含状态 栏、工只栏和菜单栏的经典应用程序框架。 状态栏 状态栏是用来显示状态信息的串口部件。 #! usr/bin/py status rt sys PyQt4 import QtGui class Main Window(QtGui QMain Window) def init (sclf, parent= Nonc) QiGui. QMain Window. init (seln) self. resize( 250, 150 self set Window Title(statusbar') If status BarO. show Mcssagc(Rcady') op-QtGui. QApplication(sys. argv) main= Main Window Inain show( .cxit(app. ccc O) self status Baro. show Message('Ready) 使用 APplication类的 status bar(O方法创建状态栏。使用 show Message方法将信息显 在状态栏中 statusbar Ready 截图: statusbar 菜单栏 菜单栏是GUⅠ程序最明显的组成部分。它由·组位于不同菜单中的命令组成。在控制 台程序中,我们必须记住那些晦涩难懂的命令。但在GUI程序中,通过菜单栏我们将命令 合理的放置在不同的菜单中米降低学习新应用程序的时问开销。 #!/ usr/bin/pythe 0 【实例截图】
【核心代码】

标签:

实例下载地址

PyQt入门指南

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警