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 进行实际开发!

相关推荐
鶴哥只手遮天36 分钟前
深入理解OpenSceneGraph(五):插件生态与最佳实践
后端
.道阻且长.1 小时前
C++11 :新的类功能,lambda,包装器
开发语言·c++·后端
leo在掘金1 小时前
google/ax单日涨1379星:Agent编排运行时到底难在哪?
后端·架构
王中阳Go2 小时前
简历写「QPS 提升 3 倍」,面试官问「怎么压测的」,我卡在并发数怎么定
人工智能·后端·面试
柠檬味拥抱2 小时前
植物气孔开闭检测数据集 | 3600张YOLO植物生理数据集
后端
136096757232 小时前
宿主机路径与容器路径
后端
量化分析码农2 小时前
【Python量化系统工程实战 #01】数据存哪里不崩?CSV/SQLite/MySQL 量化存储方案对比与 SQLite 实战建库
后端
弈栈录2 小时前
Spring MVC 请求处理流程与核心源码解析
后端·架构·mvc
Sylven2 小时前
【DevOps 开发流程】什么是CI/CD?不同的阶段应当配置哪些CI/CD自动化流程?
后端
鶴哥只手遮天2 小时前
从零搭建光电仿真引擎(五):探测器成像与工程实践
后端