A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 易大帅 高级黑马   /  2017-3-21 07:30  /  3797 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天易哥和大家一起学习常用工具和类库
PyQt——结合Python与Qt的GUI编程(qq_25600055)                       
                                                       

http://www.eefocus.com/nightseas/blog/15-05/312675_3e518.html

PyQt是Python下的另一套图形界面接口库,顾名思义就是在Python中调用Qt图形库和组件。使用PyQt的优点在于可以使用Qt成熟的IDE(如Qt Creator)进行图形界面设计,并自动生成可执行的Python代码。


1.1.PyQt的安装和使用

PyQt可以通过apt-get命令安装,其对应Python 2.x 和Python 3.x的包名称不同。

安装Python 2.x下的PyQt:

$ sudo apt-get install python-pyqt4 pyqt4-dev-tools


安装Python 3.x下的PyQt:

$ sudo apt-get install python3-pyqt4 pyqt4-dev-tools


获取PyQt的文档和范例程序(非必须):

$ sudo apt-get install python-qt4-doc


获取到的范例程序保存在/usr/share/doc/python-qt4-doc/examples目录下找到。

2D绘图


对话框演示


FTP客户端(网络编程)演示


OpenGL 3D绘图



下面我们通过一段代码演示PyQt的使用。新建Python文件,命名为hello_pyqt.py,代码内容如下:

import sys

from PyQt4 import QtCore, QtGui


class HelloPyQt(QtGui.QWidget):

    def __init__(self, parent = None):

        super(HelloPyQt, self).__init__(parent)

        self.setWindowTitle("PyQt Test")

      

        self.textHello = QtGui.QTextEdit("This is a test program written in python with PyQt lib!")

        self.btnPress = QtGui.QPushButton("Press me!")

      

        layout = QtGui.QVBoxLayout()

        layout.addWidget(self.textHello)

        layout.addWidget(self.btnPress)   

        self.setLayout(layout)


        self.btnPress.clicked.connect(self.btnPress_Clicked)

      

    def btnPress_Clicked(self):

        self.textHello.setText("Hello PyQt!\nThe button has been pressed.")


if __name__=='__main__':

    app = QtGui.QApplication(sys.argv)

    mainWindow = HelloPyQt()

    mainWindow.show()

    sys.exit(app.exec_())


在本例中,所有的PyQt控件都封装在HelloPyQt类中。首先添加了一个QTextEdit 控件textHello和QPushButton控件btnPress,然后通过self.btnPress.clicked.connect()语句将btnPress按钮的clicked信号连接至btnPress_Clicked()函数。

如此当按钮被按下时,会触发clicked事件,进而调用btnPress_Clicked()函数。该函数的功能就是改变textHello中的文本。

[url=][/url]

4 个回复

正序浏览
有没有pyqt比较详细的教程啊
回复 使用道具 举报
继续自己家时间的就觉得好好的好
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
luguojiejie 发表于 2017-3-21 09:35
这都是楼主自己写的么

没有有些是摘抄的作者我也标记了……反正一起学习……
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
这都是楼主自己写的么
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马