pyqt5开发的小程序

PyQt5是Python语言的一组绑定,用于QT库。它允许python的程序员使用C++的QT库的全部写出程序,从而获得了良好的GUI能力。在这里,我将介绍如何用Python3和PyQt5构建一个简单的GUI程序。

首先我们要安装PyQt5和pymysql这两个库。可以使用pip从命令行安装这两个库。输入以下命令:

```pip install PyQt5```

```pip install pymysql```

下面我们开始构建一个简单的GUI程序。

#### 步骤1:创建一个GUI窗口

```Python

import sys

from PyQt5.QtGui import *

from PyQt5.QtCore import *

from PyQt5.QtWidgets import *

class MainWindow(QMainWindow):

def __init__(self):

super().__init__()

# 设置窗口的标题和大小

self.setWindowTitle("PyQt5程序")

self.setGeometry(100, 100, 500, 500)

if __name__ == '__main__':

app = QApplication(sys.argv)

main_window = MainWindow()

main_window.show()

sys.exit(app.exec_())

```

我们创建了一个MainWindow类,它继承了QMainWindow类,这意味着我们创建了一个主窗口。我们使用```__init()__```方法定义了窗口的标题和大小。通过```app = QApplication(sys.argv)```创建应用程序对象。通过```main_window = MainWindow()```创建一个MainWindow实例,通过```main_window.show()```显示出窗口,通过```sys.exit(app.exec_()) ```终止程序运行。

此时,你应该能够看到一个大小为500x500像素的空白窗口。

#### 步骤2:添加标签、文本框及按钮

```Python

class MainWindow(QMainWindow):

def __init__(self):

super().__init__()

# 定义一个标签

label = QLabel("username:", self)

label.move(50, 100)

# 定义一个文本框

self.edit = QLineEdit(self)

self.edit.setGeometry(QRect(110, 100, 220, 25))

# 添加一个按钮,点击后可以连接到一个槽函数

button = QPushButton("提交", self)

button.setGeometry(QRect(270, 140, 80, 28))

button.clicked.connect(self.submit)

# 设置窗口的标题,大小和背景颜色

self.setWindowTitle("PyQt5程序")

self.setGeometry(100, 100, 500, 500)

self.setStyleSheet("background-color: #456;")

def submit(self):

text = self.edit.text()

QMessageBox.information(self, 'PyQt5', "你输入的是:" + text)

```

我们添加了一个标签和一个文本框。通过```QLabel```添加标签,我们在窗口上指定标签的位置;通过```QLineEdit```添加文本框,我们在窗口上指定文本框的大小和位置。

我们还添加了一个按钮,它将在单击时调用submit函数。上面的submit函数是一种槽,它将从文本框中读取文本并将其显示在一个对话框中。对话框是通过```QMessageBox```函数创建的。我们在函数末尾调用exec_()方法,以展示对话框。

#### 步骤3:连接MySQL数据库

```Python

class MainWindow(QMainWindow):

def __init__(self):

super().__init__()

# 定义一个标签

label = QLabel("username:", self)

label.move(50, 100)

# 定义一个文本框

self.edit = QLineEdit(self)

self.edit.setGeometry(QRect(110, 100, 220, 25))

# 添加一个按钮,点击后可以连接到一个槽函数

button = QPushButton("提交", self)

button.setGeometry(QRect(270, 140, 80, 28))

button.clicked.connect(self.submit)

# 设置窗口的标题,大小和背景颜色

self.setWindowTitle("Python GUI程序")

self.setGeometry(100, 100, 500, 500)

self.setStyleSheet("background-color: #456;")

# 连接MySQL数据库

self.conn = pymysql.connect(host='localhost', user='root', password='password', db='test')

self.cur = self.conn.cursor()

def submit(self):

text = self.edit.text()

self.cur.execute("INSERT INTO user(name) VALUES('%s')" % text)

self.conn.commit()

QMessageBox.information(self, 'Python GUI程序', "插入数据成功!")

```

我们通过```pymysql.connect()```来连接MySQL数据库。我们使用```self.conn.cursor()```定义一个游标对象,以便我们可以执行SQL命令和从数据库中检索数据。

我们还添加了submit()函数,以将文本框的内容插入到MySQL数据库中。通过```INSERT INTO```命令将值插入```user```表中的```name```字段。

好了,现在我们就创建了一个基于PyQt5和Python的GUI程序,它可以将用户输入插入到MySQL数据库中。

以上是本程序的核心代码,完整代码可以见下方。