返回顶部
首页 > 资讯 > 精选 >PyQt5如何实现数据的增删改查功能
  • 431
分享到

PyQt5如何实现数据的增删改查功能

2023-06-29 13:06:04 431人浏览 薄情痞子
摘要

这篇文章主要介绍“PyQt5如何实现数据的增删改查功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PyQt5如何实现数据的增删改查功能”文章能帮助大家解决问题。话不多说,还是先来梳理一下需要的第三

这篇文章主要介绍“PyQt5如何实现数据的增删改查功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PyQt5如何实现数据的增删改查功能”文章能帮助大家解决问题。

PyQt5如何实现数据的增删改查功能

话不多说,还是先来梳理一下需要的第三方模块。

PyQ5 的UI界面布局部分,同样是还是使用这三个模块就够了。

from PyQt5.QtGui import *from PyQt5.QtWidgets import *from PyQt5.QtCore import *

将sys模块导入到代码块中,用于main函数里面的主体循环时使用。

import sys

add_dialog是一个自己写的添加数据的弹框。

from add_dialog import ADDDialog

创建好DataManage类,主要用来实现主窗口页面的UI布局。

class DataManage(QWidget):    def __init__(self):        super(DataManage, self).__init__()        self.data_list = []        self.init_ui()    def init_ui(self):        '''全局设置'''        self.setWindowIcon(QIcon('数据.ico'))        self.setWindowTitle('数据管理器')        self.resize(550, 400)        grid = QGridLayout()        '''菜单设置'''        self.add_btn = QPushButton()        self.add_btn.setText('添加数据')        self.add_btn.clicked.connect(self.add_btn_click)        self.del_btn = QPushButton()        self.del_btn.setText('删除数据')        self.del_btn.clicked.connect(self.del_data_row)        self.query_btn = QPushButton()        self.query_btn.setText('查询')        self.query_btn.clicked.connect(self.query_data_list)        '''数据列表设置'''        self.data_table = QTableWidget()        COLUMN = 5        ROW = 0        self.data_table.setColumnCount(COLUMN)        self.data_table.setRowCount(ROW)        h_table_header = ['序号', '姓名', '年龄', '班级', '表现']        self.data_table.setHorizontalHeaderLabels(h_table_header)        self.data_table.verticalHeader().setVisible(False)        self.data_table.setShowGrid(True)        self.data_table.setEditTriggers(QTableWidget.NoEditTriggers)        self.data_table.setSelectionBehavior(QTableWidget.SelectRows)        self.data_table.setSelectionMode(QTableWidget.SingleSelection)        for index in range(self.data_table.columnCount()):            headItem = self.data_table.horizontalHeaderItem(index)            headItem.setTextAlignment(Qt.AlignVCenter)        '''加入布局'''        grid.addWidget(self.add_btn, 0, 0, 1, 1)        grid.addWidget(self.del_btn, 0, 1, 1, 1)        grid.addWidget(self.query_btn, 0, 2, 1, 1)        grid.addWidget(self.data_table, 1, 0, 1, 3)        self.setLayout(grid)

定义需要的槽函数,通过不同按钮的信号绑定相应的槽函数从而来实现该按钮需要绑定的事件来实现业务逻辑。

# 将新增数据的按钮绑定到该槽函数    def add_btn_click(self):        '''        打开新增数据的弹框模块        :return:        '''        AddDialog.get_add_dialog(self)    # 将查询数据的按钮绑定到该槽函数    def query_data_list(self):        '''        查询数据、并将数据展示到主窗口的数据列表中        :return:        '''        data = self.data_list        if len(data) != 0 and len(data[0]) != 0:            self.data_table.setRowCount(len(data))            self.data_table.setColumnCount(len(data[0]))            for i in range(len(data)):                for j in range(len(data[0])):                    self.data_table.setItem(i, j, QTableWidgetItem(str(data[i][j])))    # 将删除数据按钮绑定到该槽函数    def del_data_row(self):        '''        删除某一行的数据信息        :return:        '''        row_select = self.data_table.selectedItems()        print(row_select)        if len(row_select) != 0:            row = row_select[0].row()            print(row)            self.data_table.removeRow(row)            del self.data_list[row]        print(self.data_table)

通过 main() 函数来启动整个应用程序。

if __name__ == '__main__':    app = QApplication(sys.argv)    main = DataManage()    main.show()    sys.exit(app.exec_())

最后,将新增数据时自定义的弹框模块的代码分享一下。这个模块就是为了自定弹框单独写的一个模块,通过在主窗口直接调用该模块实现的弹框函数就能实现一个弹框的功能。

创建一个 add_dialog.py 的文件,将下面的代码块放到里面即可。

from PyQt5.QtWidgets import *class AddDialog(QDialog):    def __init__(self, parent=None):        super(AddDialog, self).__init__(parent)        self.init_ui(parent)    def init_ui(self,parent):        '''水平布局'''        hbox = QHBoxLayout()        self.save_btn = QPushButton()        self.save_btn.setText('保存')        self.save_btn.clicked.connect(lambda :self.save_btn_click(parent))        self.cancel_btn = QPushButton()        self.cancel_btn.setText('取消')        self.cancel_btn.clicked.connect(self.cancel_btn_click)        hbox.addWidget(self.save_btn)        hbox.addWidget(self.cancel_btn)        '''表单布局'''        fbox = QFORMLayout()        self.seq_lab = QLabel()        self.seq_lab.setText('序号:')        self.seq_text = QLineEdit()        self.seq_text.setPlaceholderText('请输入序号')        self.name_lab = QLabel()        self.name_lab.setText('姓名:')        self.name_text = QLineEdit()        self.name_text.setPlaceholderText('请输入姓名')        self.age_lab = QLabel()        self.age_lab.setText('年龄:')        self.age_text = QLineEdit()        self.age_text.setPlaceholderText('请输入年龄')        self.class_lab = QLabel()        self.class_lab.setText('班级:')        self.class_text = QLineEdit()        self.class_text.setPlaceholderText('请输入班级')        self.socre_lab = QLabel()        self.socre_lab.setText('表现:')        self.socre_text = QLineEdit()        self.socre_text.setPlaceholderText('请输入表现')        fbox.addRow(self.seq_lab,self.seq_text)        fbox.addRow(self.name_lab, self.name_text)        fbox.addRow(self.age_lab, self.age_text)        fbox.addRow(self.class_lab, self.class_text)        fbox.addRow(self.socre_lab, self.socre_text)        vbox = QVBoxLayout()        vbox.addLayout(fbox)        vbox.addLayout(hbox)        self.setLayout(vbox)    def save_btn_click(self,parent):        if self.seq_text.text().strip() != '' and self.name_text.text().strip() != '' \                and self.age_text.text().strip() != ''and self.class_text.text().strip() != '' \                and self.socre_text.text().strip() != '' :            print(parent.data_list)            data = [self.seq_text.text(),                    self.name_text.text(),                    self.age_text.text(),                    self.class_text.text(),                    self.socre_text.text()]            parent.data_list.append(data)            print(parent.data_list)            parent.query_data_list()            self.close()    def cancel_btn_click(self):        self.close()    @staticmethod    def get_add_dialog(parent=None):        dialog = AddDialog(parent)        return dialog.exec()

关于“PyQt5如何实现数据的增删改查功能”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: PyQt5如何实现数据的增删改查功能

本文链接: https://lsjlt.com/news/325047.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PyQt5如何实现数据的增删改查功能
    这篇文章主要介绍“PyQt5如何实现数据的增删改查功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PyQt5如何实现数据的增删改查功能”文章能帮助大家解决问题。话不多说,还是先来梳理一下需要的第三...
    99+
    2023-06-29
  • PyQt5实现数据的增删改查功能详解
    通过这个布局思路来做一个简单的后台管理系统也是OK的,大家可以参考一下啦! 话不多说,还是先来梳理一下需要的第三方模块。 PyQ5 的UI界面布局部分,同样是还是使用这三个模块就够...
    99+
    2024-04-02
  • Oracle+mybatis如何实现对数据的增删改查功能
    这篇文章主要介绍了Oracle+mybatis如何实现对数据的增删改查功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是 MyBati...
    99+
    2024-04-02
  • JDBC实现数据库增删改查功能
    JDBC,简单点来说,就是用Java操作数据库,下面简单介绍怎么实现数据库的增删改查功能。 1、添加数据 package cn.itcast.jdbc; import java...
    99+
    2024-04-02
  • Laravel如何实现增删改查功能
    本篇内容主要讲解“Laravel如何实现增删改查功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Laravel如何实现增删改查功能”吧!一、连接数据库在Laravel中,连接数据库需要修改.e...
    99+
    2023-07-06
  • PHP数据库函数实现数据的增删改查功能
    PHP数据库函数实现数据的增删改查功能摘要:数据库是存储和管理数据的重要组成部分。在开发Web应用程序时,经常需要对数据库进行增删改查的操作。PHP作为一种流行的服务器端编程语言,提供了丰富的数据库函数,用于实现数据的增删改查功能。本文将介...
    99+
    2023-11-20
    数据实现 增删改查功能 PHP数据库函数
  • JDBC怎么实现数据库增删改查功能
    这篇文章主要介绍JDBC怎么实现数据库增删改查功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:1、添加数据package cn.itcast.jdbc;import java.sql....
    99+
    2023-06-20
  • 数据库的增删改查如何实现
    数据库的增删改查操作可以通过SQL语句来实现。下面以MySQL数据库为例,介绍增删改查的常见操作:1. 增加(Insert):使用I...
    99+
    2023-08-31
    数据库
  • php如何实现数据的增删改查
    PHP可以通过以下方式实现数据的增删改查:1. 数据的增加(Create):- 使用SQL语句插入数据:可以使用`INSERT IN...
    99+
    2023-08-23
    php
  • 如何在MySQL中使用PHP实现数据的增删改查功能
    如何在MySQL中使用PHP实现数据的增删改查功能概要MySQL是一种开源的关系型数据库管理系统,而PHP是一种流行的服务器端脚本语言。结合使用MySQL和PHP,我们可以轻松实现数据库的增删改查功能。本文将向您介绍如何在MySQL中使用P...
    99+
    2023-10-22
    MySQL PHP 增删改查
  • Java如何实现顺序表的增删查改功能
    这篇文章主要介绍Java如何实现顺序表的增删查改功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!创建顺序表在java语言中要实现顺序表,首先创建一个类,因为顺序表本身就像数组,所以我们这里定义一个int类型的数组和...
    99+
    2023-06-14
  • vue实现表单数据的增删改功能
    本文实例为大家分享了vue实现表单数据增删改功能的具体代码,供大家参考,具体内容如下 图示如下: <!DOCTYPE html> <html lang="en"...
    99+
    2024-04-02
  • java连接数据库怎么实现增删改查功能
    在Java中连接数据库并实现增删改查功能通常需要使用JDBC(Java Database Connectivity)技术。以下是一个...
    99+
    2024-04-02
  • MybatisPlus实现简单增删改查功能
    实现步骤: 工具:IDEA 数据库版本:mysql5.7 一、环境搭建 1.创建springboot项目 pom.xml 2.pom.xml : spring web、lombo...
    99+
    2024-04-02
  • PHP怎么实现增删改查功能
    这篇文章主要讲解了“PHP怎么实现增删改查功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP怎么实现增删改查功能”吧!sql:-- phpMyAdmin SQL&n...
    99+
    2023-06-29
  • winform增删改查功能怎么实现
    在 Winform 中实现增删改查功能,可以按照以下步骤进行操作:1. 设计界面:在 Winform 窗体上添加相应的控件,如文本框...
    99+
    2023-09-13
    winform
  • AJAX如何实现数据的增删改查操作
    这篇文章主要介绍了AJAX如何实现数据的增删改查操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。主页:index.html<!DOCTYPE html>...
    99+
    2023-06-08
  • Java操作Mongodb数据库实现数据的增删查改功能示例
    本文实例讲述了Java操作Mongodb数据库实现数据的增删查改功能。分享给大家供大家参考,具体如下:首先,我们在windows下安装mongodb数据库,安装教程可查看前面一篇文章:https://www.jb51.net/article...
    99+
    2023-05-31
    java mongodb
  • Java实现顺序表的增删查改功能
    创建顺序表 在java语言中要实现顺序表,首先创建一个类,因为顺序表本身就像数组,所以我们这里定义一个int类型的数组和usedata为有效数据,构造方法里先申请可以存放10个数据的...
    99+
    2024-04-02
  • 如何使用MongoDB实现数据的增加、修改、删除功能
    如何使用MongoDB实现数据的增加、修改、删除功能MongoDB是一种流行的开源NoSQL数据库,具有高性能、可伸缩性和灵活性。在使用MongoDB存储数据时,我们经常需要对数据进行增加、修改和删除操作。以下是使用MongoDB实现这些功...
    99+
    2023-10-22
    删除 MongoDB 修改 增加
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作