PyQt基础的综合示例

在这个综合示例中,我们将结合前面所学的内容,创建一个简单的 PyQt 应用程序,该程序具有以下功能:

  1. GUI 界面
  2. 数据库操作
  3. 网络通信
python 复制代码
from PyQt5.QtWidgets import QApplication, QPushButton, QVBoxLayout, QWidget
from PyQt5.QtSql import QSqlDatabase, QSqlQuery
from PyQt5.QtNetwork import QTcpSocket
from PyQt5.QtCore import QIODevice

def connect_to_database():
    db = QSqlDatabase.addDatabase("QSQLITE")
    db.setDatabaseName("mydatabase.db")
    return db.open()

def execute_query():
    query = QSqlQuery()
    query.exec_("CREATE TABLE IF NOT EXISTS people (id INTEGER PRIMARY KEY, name TEXT)")
    query.exec_("INSERT INTO people (name) VALUES ('John')")

def tcp_client():
    socket = QTcpSocket()
    socket.connectToHost("localhost", 8080)
    if socket.waitForConnected():
        socket.write(b"Hello, Server")
        if socket.waitForReadyRead():
            print("Received:", socket.readAll().data().decode())
        socket.close()

app = QApplication([])

window = QWidget()
layout = QVBoxLayout()

button_db = QPushButton('Connect to Database')
button_db.clicked.connect(connect_to_database)
layout.addWidget(button_db)

button_query = QPushButton('Execute Query')
button_query.clicked.connect(execute_query)
layout.addWidget(button_query)

button_network = QPushButton('Network Request')
button_network.clicked.connect(tcp_client)
layout.addWidget(button_network)

window.setLayout(layout)
window.show()

app.exec_()

这个示例程序创建了一个具有三个按钮的简单 GUI 界面。每个按钮都连接到一个槽函数,这些槽函数分别执行数据库连接、数据库查询和网络请求。

希望这个综合示例能帮助你更好地理解如何使用 PyQt 进行实际开发!

相关推荐
特立独行的猫A5 小时前
用仓颉语言 cj-tauri 框架,五分钟给娃做了个鸿蒙形近字游戏
java·后端·python
码事漫谈8 小时前
我花了一周时间,看AI公司怎么"管"AI,结果越看越后背发凉
后端
爱学习的程序媛10 小时前
Python常用框架梳理
开发语言·后端·python·ai·web·后端框架·python框架
GISer_Jing10 小时前
Agent核心内容
后端·ai·langchain
budingxiaomoli11 小时前
Spring统一功能处理
java·后端·spring
某鹏12 小时前
网关选型:Go、Java、Graal 谁都不能完胜
后端
用户02478365309713 小时前
从屎山到防线:14 行状态迁移表,给任务系统装上防瞎跳闸门
后端
CQU_JIAKE13 小时前
11.13[体系结构】指标,五级流水线,八级流水线,虚实地址思考
后端
panbook15 小时前
从0到1实现一个分布式时序数据库(三):主从复制、故障检测与切换
后端
上线再说15 小时前
图片从 8.2MB 压到 296KB:我把小程序图片链路的账单拆了一遍
后端