#pyqt4基础学习
初步学习资料(pdf): http://pan.baidu.com/s/1sj2R2Lf 这里一般没有运行结果截图,除非效果特炫...
第一段代码学习笔记
这差不多是最最基础的
<!-- lang: python -->
#! /usr/bin/python
# -*- coding:utf8 -*-
import sys
from PyQt4 import QtGui
app = QtGui.QApplication(sys.argv)
widget = QtGui.QWidget()
widget.resize(250, 150)
widget.setWindowTitle('Simple')
widget.show()
sys.exit(app.exec_())
widget = QtGui.QWidget()
QWidget部件是PyQt4中所有用户界面类的父类!所以这里就是使用了没有参数的默认构造函数。
第二段代码学习笔记
这段代码想要改变窗口的图标,总不能使用那个丑陋的windows默认图标吧!
<!-- lang: python -->
#! /usr/bin/python
# -*- coding:utf8 -*-
import sys
from PyQt4 import QtGui
class Icon(QtGui.QWidget):
def __init__(self, parent = None):
QtGui.QWidget.__init__(self, parent)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Icon')
self.setWindowIcon(QtGui.QIcon('./1.ico'))
app = QtGui.QApplication(sys.argv)
icon = Icon()
icon.show()
sys.exit(app.exec_())
这里创建了一个Icon类,它继承QtGui.QWidget类。所以这里调用两个构造函数。 根据这个类的构造方式,我们大概可以猜测其他类的构造方法。这里使用了
设置图标
这个方法,我们可以使用另外一些方法来达到构造我们想要的类的目的。
第三段代码学习笔记
吃饭后继续,这里有一些关于pyqt信号槽的东西,是不是会高端一点 ~~ 这只是一部分代码(其他和上面几乎没有差别,直接加入也可以运行)
<!-- lang: python -->
quit = QtGui.QPushButton(u'退出', self)
quit.setGeometry(10, 10, 60, 35) # 设置Button的位置
self.connect(quit, QtCore.SIGNAL('clicked()'), \
QtGui.qApp, QtCore.SLOT('quit()')) #
如果我们单击quit 按钮,那么
信号
clicked()就会被触发,槽函数
可以是PyQt 自带的槽函数,也可以是任何Python 可以调用的函数等。QtCore.QObject.connect()方法可以将信号和槽函数连接起来。在我们的示例中槽函数是PyQt 中已定义的quit()函数。
第四段代码学习
这段的主要目标是:在退出前,弹框确认。主要思想:重写closeEvent方法。 在之前的代码加入即可 <!-- lang: python --> def closeEvent(self, event): reply = QtGui.QMessageBox.question(self, 'Message',
u"确定退出?", QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) if reply == QtGui.QMessageBox.Yes: event.accept() else: event.ignore()
如果我们关闭QWidget 窗口,QCloseEvent 事件就会被触发。要改变原有的wdiget 行为阻止查窗口的关闭,我们就需要重新实现closeEvent()方法。
第五段代码学习
这里主要告诉我们怎样控制窗口位置。其中一个重要的一点就是得到屏幕的大小。 这里只贴出获取屏幕大小的代码。
<!-- lang: python -->
def center(self):
screen = QtGui.QDesktopWidget().screenGeometry()
size = self.geometry()
self.move((screen.width() - size.width()) / 2,
(screen.height() - size.height()) / 2)
总结回忆
学习了怎样创建窗口,设置图标,监控关闭事件,设置窗口位置