PyQT first demo

PyQT first demo

Qt是一个跨平台的界面库,PyQt就是它的Python版本了,Python的界面库除了PyQt之外,还有wxPython,TK等。

环境:Windows+Python2.6+Qt

1.下载安装环境
python2.6:www.python.org
PyQt2.6:http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-Py2.6-gpl-4.7-1.exe
eric4:http://nchc.dl.sourceforge.net/project/eric-ide/eric4/stable/4.4.0/eric4-4.4.0.zip
eric4是PyQt界面编译器,也可以当作Python的IDE

安装好eric4之后,在Python26/Lib/site-packages/eric4/目录下有个eric4.pyw文件,双击,就打开了eric4编辑器,
初次打开,会有一个配置窗口(Settings-->Preferences),简单配置一下:

Editor-->APIs-->勾上Complie APIs Autocompation,Language中选择Pyhton,点击Add from installed APIs,选择eric4.api或其它你需要的APIs。然后点击下面的”Compile APIs”,这里会需要点时间。结束后点Apply,配置结束。

 

 

2.demo

2.1 Project-->New,新建一个工程,起名Hello吧;
2.2 点击编辑器左边Project-Viewer中第二个选项卡Forms,空白处,右键鼠标-->New Form, 弹出对话框选择Dialog,命名Hello,保存之后,自动弹出Qt4的设计窗口(双击UI文件也可以弹出)
2.3 设计窗口左边拉两个按钮,btnClick,btnExit,拉个Edit框
2.4 事件
点击窗口右面的(信号/槽编辑器)中的加号(+),就会出现一条没有定义过的事件,此时在发送者选择btnExit,信号中选择clicked(),接受者中选择Dialog,槽中选择close(),然后保存后关闭设计器。
2.5 在eric界面,在From选项卡中会出现名为Hello.ui文件,在文件名右键,选择Compile Form,选择Generate Dialog Code,设定ClassName,点击右面的New按钮,默认就可以。确定之后,在下面的文本框中,选择btnClick下的第一个on_btnClick_clicked()打上勾,然后OK,回到Project-Viewer下的第一个选项卡Source,双击Hello.py,修改如下

 

修改

新增:

 

按F5运行

### PythonPyQt5简介 PyQt5是一个用于创建GUI应用程序的工具包,它允许开发者利用Python编写跨平台的应用程序[^2]。该库基于C++编写的Qt库,并提供了丰富的组件集来构建图形界面。 ### 安装PyQt5 为了开始使用PyQt5,在命令行输入如下指令完成安装: ```bash pip install PyQt5 ``` 这将会下载并安装最新版本的PyQt5以及所需依赖项[^1]。 ### 创建第一个窗口应用 下面展示了一个简单的例子,展示了怎样建立一个基本窗口: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('My First App') self.setGeometry(300, 300, 300, 200) self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = MyApp() sys.exit(app.exec_()) ``` 上述代码定义了一个名为`MyApp`类继承自QWidget基类,并重写了初始化方法以设置窗口标题和大小位置参数;最后通过调用show()函数使窗口可见。 ### 添加按钮控件 接下来增加一些交互功能——比如添加按钮点击事件处理逻辑: ```python import sys from PyQt5.QtWidgets import (QApplication, QWidget, QPushButton, QVBoxLayout) class ButtonExample(QWidget): def __init__(self): super().__init__() btn = QPushButton('Click me!', self) btn.clicked.connect(lambda: print("Button clicked!")) layout = QVBoxLayout() layout.addWidget(btn) self.setLayout(layout) self.setWindowTitle('Button Example') if __name__ == '__main__': application = QApplication(sys.argv) window = ButtonExample() window.resize(250, 150) window.show() sys.exit(application.exec_()) ``` 这里引入了QPushButton用来显示可按下的按钮,并将其放置在一个垂直布局容器内(VBoxLayout),当用户按下此按钮时会触发连接至lambda表达式的槽函数执行打印操作。 ### 设置提示框字体样式 还可以进一步美化应用程序外观,例如更改默认状态栏文字风格: ```python import sys from PyQt5.QtGui import QFont from PyQt5.QtWidgets import QApplication, QToolTip, QPushButton, QWidget class TooltipDemo(QWidget): def __init__(self): super().__init__() QToolTip.setFont(QFont('SansSerif', 10)) tooltip_btn = QPushButton('Hover over this button.', self) tooltip_btn.setToolTip('This is a <b>QPushButton</b> widget with HTML formatting.') tooltip_btn.move(50, 50) close_btn = QPushButton('Close Window', self) close_btn.clicked.connect(self.close) close_btn.move(50, 100) self.setWindowTitle('Tooltips Demo') self.setGeometry(300, 300, 300, 200) if __name__ == '__main__': app = QApplication(sys.argv) demo_window = TooltipDemo() demo_window.show() sys.exit(app.exec_()) ``` 这段脚本设置了全局范围内的气泡帮助信息字体属性,并为两个不同作用的按钮分别指定了特定的帮助文本内容[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值