python开发桌面小程序

Python 是一门功能强大的编程语言,不仅可以用于后端开发、数据处理以及机器学习等领域,还可以用于桌面应用程序开发。本文将介绍如何使用 Python 开发桌面小程序。

## 选用 GUI 库

GUI 是 Graphical User Interface 的缩写,指的是人机交互的图形用户界面。在 Python 中,有多种 GUI 库可供选择,如:

- PyQt5:基于 Qt 图形库的 Python3 绑定版,可用于开发跨平台应用程序。

- PyGTK:基于 GTK 的 Python2 绑定版。

- wxPython :基于 wxWidgets 的 Python 绑定版等。

在这里我们以 PyQt5 为例。因为 PyQt5 具有易用性、可扩展性以及优美的外观。

## 安装 PyQt5

在 Python 3.x 中,PyQt5 是一个第三方包,需要通过 pip 来安装。Windows 系统可以通过以下方式在命令行中安装 PyQt5。

```

pip install pyqt5

```

在 macOS 或者 Linux 系统中,可以通过以下命令进行安装。

```

pip3 install pyqt5

```

## 创建窗口

在 PyQt5 中,可以通过继承 QWidget 类来创建窗口。代码如下:

```python

from PyQt5.QtWidgets import QApplication, QWidget

app = QApplication([])

window = QWidget()

window.show()

app.exec_()

```

运行上述代码,会弹出一个空白的窗口。其中,`app = QApplication([])`创建了一个应用程序,`window = QWidget()`创建了一个窗口,`window.show()`将窗口显示出来,`app.exec_()`让程序进入事件循环,等待用户的输入事件。

## 设置窗口大小和标题

窗口大小和标题是窗口最基本的属性,可以通过以下代码来设置:

```python

window.setGeometry(200, 200, 300, 300) # 设置窗口的大小和位置

window.setWindowTitle("My PyQt5 program") # 设置窗口标题

```

`setGeometry()` 方法中,前两个参数指定了窗口的位置,后两个参数指定了窗口的宽度和高度。`setWindowTitle()` 方法设置窗口的标题。

## 添加按钮

可以通过 QPushButton 类来创建按钮,代码如下:

```python

from PyQt5.QtWidgets import QApplication, QWidget, QPushButton

app = QApplication([])

window = QWidget()

button = QPushButton('Click me', window)

button.resize(button.sizeHint())

button.move(100, 100)

window.setWindowTitle("My PyQt5 program")

window.setGeometry(200, 200, 300, 300)

window.show()

app.exec_()

```

运行上述代码,会在窗口中创建一个按钮,按钮上写有 “Click me”文本。`resize()` 方法将按钮的大小设为推荐大小(sizeHint()),`move()` 方法定义了按钮的位置。

## 添加事件处理

每个按钮都有自己的信号和槽(slot),当用户点击按钮时,程序需要对该事件进行响应。可以通过以下方式来添加事件处理:

```python

from PyQt5.QtWidgets import QApplication, QWidget, QPushButton

from PyQt5.QtCore import pyqtSlot

app = QApplication([])

window = QWidget()

button = QPushButton('Click me', window)

button.resize(button.sizeHint())

button.move(100, 100)

@pyqtSlot()

def on_button_click():

print('Button clicked.')

button.clicked.connect(on_button_click)

window.setWindowTitle("My PyQt5 program")

window.setGeometry(200, 200, 300, 300)

window.show()

app.exec_()

```

使用 `@pyqtSlot()` 装饰器来指定槽方法,当按钮被点击时,槽函数会输出 “Button clicked.”。

## 总结

通过以上代码示例,我们可以看出,使用 PyQt5 开发桌面小程序,代码量相比于其他编程语言来说更少, Python 提供了简单易懂的 API 来实现图形用户界面的程序开发。此外,PyQt5 还支持多平台,可以在 Windows、macOS 以及 Linux 上运行,是一个十分强大的桌面应用开发库。