标签:
1.每个应用必须创建一个 QtGui.QApplication(sys.argv), 此时 QtGui.qApp 为此应用的实例
app = QtGui.QApplication(sys.argv) sys.exit(app.exec_()); #因为exec是关键字, 所以 Qt 用的 exec_, app.exec_() 表示进入循环
2.所有界面图形类都继承自 QtGui.QWidget, 比如 QtGui.QPushButton 等都可以使用 setGeometry() 等方法, QWidget 如果没有指定父, 那么它就是顶级窗口 a
3.QtGui.QPushButton(‘Quit‘, widget), 创建一个 QPushButton 实例, 放在 widget 上
4.PyQt4 事件处理系统建立在 信号-槽 的基础上
槽详解可以参考以下两篇文章, PyQt4信号和槽用法总结, 信号和槽详解
信号与槽机制作为 Qt 最重要的特性, 提供了任意两个 Qt 对象之间的通信机制, 信号会在某个特定情况或动作下被触发, 槽是用于接收并处理信号的函数
每个Qt对象都包含预定的信号和槽, 当一某一特定事件发生时, 一个信号被发射, 与信号相关联的槽则会响应信号完成相应的处理
信号与槽机制常用的连接方式为: connect(Object1,SIGNAL(signal),Object2,SLOT(slot)), 其中槽函数可以是 PyQt 自带的的槽函数, 也可以是自定义的槽函数(@QtCore.pyqtSlot()), 甚至是任何 Python 可以调用的函数
w.connect(btn, QtCore.SIGNAL("clicked()"), QtGui.qAPP, QtCore.SLOT("quit()"))
或
#coding:utf-8 from PyQt4 import QtGui, QtCore app = QtGui.QApplication([]) w = QtGui.QWidget() def showMsg(): QtGui.QMessageBox.information(w, u"信息", u"ok") btn = QtGui.QPushButton(u"点我", w) w.connect(btn, QtCore.SIGNAL("clicked()"), showMsg) #或者 btn.clicked.connect(showMsg) w.show() app.exec_()
button 对象的 clicked() 信号连接到 showMsg 函数, 也就是说 ShowMsg 响应了一个按钮的点击事件
aa
标签:
原文地址:http://www.cnblogs.com/JohnABC/p/4632587.html