上传者: daifeiwudi
|
上传时间: 2021-01-28 03:56:14
|
文件大小: 1.66MB
|
文件类型: ZIP
pyqt4精彩实例讲解,适合pyqt4初级学习者,经供参考第6行创建了一个 QPush Button对象,并设置它的显示文木为“ Hello Kitty!",由于此处并
没有指定按钮的父窗体,因此以自己作为主窗凵
第7行调用show()方法,显示此按钮。控件被创建时,默认是不显示的,必须调用show()
区数来显示它。
第8行的 connect方法是αt最重要的特征,即信号与槽的机制。当按钮被按下则触发 clicked
信号,与之相连的 APplication对象的槽quit(响应按钮单击信号,执行退出应用程序的操
作。关于信号与槽机制在本实例最后将进行详细的分析。
最后调用 APplication的exec()方法,程序进入消息循环,等待可能输入进行响应。Qt
完成事件处理及显示的工作,并在应用程序退出时返叫exec_Q)的值
最后执行程序即可出现上图所示的对话框,一个简单的 Hello Kitty!例子完成。
信号与槽机制作为αt最重要的特性,提供了任意两个Qt对象之间的通信机制。其中,信
号会在某个特定情况或动作下被触发,槽是用于接收并处理信号的函数。例如,要将一个窗
口中的变化情况通知给另一个窗口,则一个窗口发送信号,另一个窗口的槽接收此信号并进
行相应的操作,即可实现两个窗∏之间的通信。这比传统的图形化程序采用回调函数的方式
实现对象间通信要简单灵活得多。每个Qt对象都包含预定的信号和槽,当一某一特定事件
发生时,一个信号被发射,与信号相关联的槽则会响应信号完成相应的处理。
信号与槽机制常用的连接方式为
connect(Object1, SIGNAL(signal), Object2, SLOT (slot)
signal|为对象 Object1的信号,sot为对象 Object2的槽,Qt的窗口部件都包含若十个预定
义的信号和若干个预定乂的槽。当一个类被继承时,该类的信号和槽也同时被继承。开始人
也可以根据需要定义自己的信号和槽。
信号与槽机制可以有多种连接方式,下图描述了信号与槽的多种可能连接方式。
Object 1
Object 2
signal 1
si巴nall
signal 2
SeFa
2
slot 1
slot 1
lot 2
Object 3
signal 2
slot 1
slot 2
个信号可以与另一个信号相连
connect(object1, SIGNAL(signal1),Object2, SIGNAL(signal 1))
即表示 Object11的信号1发射可以触发 Object2的信号1发射
2.表示一个信号可以与多个槽相连
connect(Object1, SIGNAL(signal2), Object2, SLOT(slot2))
connect(object1, SIGNAL(signal2), Object3. SLOT(slot1)
3表示同一个槽可以响应多个信号
connect(object1, SIGNAL(signal2), Object2, SLOT(slot2))
connect(object3, SIGNAL(signal2),object2, SLOT (slot2))
注:本文基本上是经过改编的《 Linux窗口程序设计-Qt4精彩实例分析》一书的PyQt4for
windows版本
可以这么写: b clicked. connect( app. quit)
这样就少了一些 hardcode的字符串了,更加 pythonic
实例2标准对话框的使用
分类:-PyQ42010-12-0310:342105人阅读评论(2)收藏举报
和人多数操作系统一样, Windows及Linuⅹ都提供了一系列的标准对话框,如文件选择,
字体选择,颜色选择等,这些标准对话框为应用程序提供了一致的观感。Qt对这些标准对
话框都定义了相关的类,这些类让使用者能够很方便地使用标准对话框进行文件,颜色以及
字体的选择。标准对话框在软件设计过程中是经常需要使用的。
αt提供的标准对话框除了本实例提到的,还有 QErrorMessage, QInputDialog,
QMessage Box, QPrintDialog, QProcess Dialog等,这些标准对话框的使用在本书的后续
部分将会陆续介绍。
本实例主要演示上面几种标准对话框的使用,如下图所示
St andard dialog
文件对话框
颜色对话框
字体对话框 Hello wor1l!
在上图中,单击“文件对话框”按钮,会弹出文件选择对话框,选中的文件名将显示在右连,
单击“颜色对话栏”按钮,会弹岀颜色选择对话框,选中的颜色将显小在右边,单击“字体对话
框”按钮,会弹出字体选择对话框,选中的字体