QTabWidget 双击增加tab页

思路:捕获qtabwidget的双击事件,在双击事件的处理代码中增加tab页

步骤:
1、重写QTabWidget,重写void mouseDoubleClickEvent ( QMouseEvent * event ) [virtual protected]函数

2、在mouseDoubleClickEvent 函数中addtab添加tab页

很抱歉,我无法为您提供完整的代码,因为这需要花费大量的时间和精力来完成。但我可以为您提供一些关键的代码段,以帮助您开始编写您的程序。 首先,在Python中连接MySQL数据库,您需要安装mysql-connector-python库。以下是一个简单的函数来连接到数据库: ```python import mysql.connector def connect_to_db(): mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="yourdatabase" ) return mydb ``` 接下来,您需要创建登录窗口。可以使用Pyside6的QWidget和QLineEdit小部件来实现。以下是一个简单的示例: ```python from PySide6.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton class LoginWindow(QWidget): def __init__(self): super().__init__() self.setWindowTitle('Login') self.resize(300, 150) self.username_label = QLabel('Username:', self) self.username_label.move(20, 20) self.username_edit = QLineEdit(self) self.username_edit.move(100, 20) self.password_label = QLabel('Password:', self) self.password_label.move(20, 50) self.password_edit = QLineEdit(self) self.password_edit.setEchoMode(QLineEdit.Password) self.password_edit.move(100, 50) self.login_button = QPushButton('Login', self) self.login_button.move(100, 90) ``` 然后,您需要验证用户输入的用户名和密码是否正确。可以在数据库中查询用户名和密码,然后与用户输入进行比较。以下是一个示例函数: ```python def validate_user(username, password): mydb = connect_to_db() mycursor = mydb.cursor() sql = "SELECT * FROM users WHERE username = %s AND password = %s" val = (username, password) mycursor.execute(sql, val) result = mycursor.fetchone() if result: return True else: return False ``` 一旦用户登录成功,您可以打开主窗口。在主窗口中,您可以使用QTabWidget小部件来实现会员管理和工作管理选项卡。以下是一个简单的示例: ```python from PySide6.QtWidgets import QMainWindow, QTabWidget class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle('Main Window') self.resize(800, 600) self.tab_widget = QTabWidget(self) self.tab_widget.addTab(MemberManagementWidget(), 'Member Management') self.tab_widget.addTab(WorkManagementWidget(), 'Work Management') self.setCentralWidget(self.tab_widget) ``` 接下来是一个简单的会员管理小部件,用于实现会员的新增,删除,修改和查询: ```python from PySide6.QtWidgets import QWidget, QLabel, QLineEdit, QPushButton, QTableWidget, QTableWidgetItem class MemberManagementWidget(QWidget): def __init__(self): super().__init__() self.name_label = QLabel('Name:', self) self.name_label.move(20, 20) self.name_edit = QLineEdit(self) self.name_edit.move(100, 20) self.phone_label = QLabel('Phone:', self) self.phone_label.move(20, 50) self.phone_edit = QLineEdit(self) self.phone_edit.move(100, 50) self.member_type_label = QLabel('Member Type:', self) self.member_type_label.move(20, 80) self.member_type_edit = QLineEdit(self) self.member_type_edit.move(100, 80) # Add more fields here... self.add_button = QPushButton('Add', self) self.add_button.move(20, 200) self.delete_button = QPushButton('Delete', self) self.delete_button.move(100, 200) self.modify_button = QPushButton('Modify', self) self.modify_button.move(180, 200) self.query_button = QPushButton('Query', self) self.query_button.move(260, 200) self.table_widget = QTableWidget(self) self.table_widget.move(20, 250) self.table_widget.setColumnCount(10) self.table_widget.setHorizontalHeaderLabels(['ID', 'Name', 'Phone', 'Member Type', 'Birthday', 'Balance', 'Remaining Uses', 'Discount', 'Points', 'Establishment Time']) self.table_widget.setRowCount(0) ``` 最后,您需要实现一个简单的充值窗口,用于更新用户账户余额和剩余可消费次数: ```python class RechargeWindow(QWidget): def __init__(self): super().__init__() self.amount_label = QLabel('Amount:', self) self.amount_label.move(20, 20) self.amount_edit = QLineEdit(self) self.amount_edit.move(100, 20) self.uses_label = QLabel('Uses:', self) self.uses_label.move(20, 50) self.uses_edit = QLineEdit(self) self.uses_edit.move(100, 50) self.confirm_button = QPushButton('Confirm', self) self.confirm_button.move(100, 90) ``` 当用户双击工作管理选项卡中的某个工作记录时,您需要打开一个详细界面,以更新用户账户余额和剩余可消费次数: ```python class WorkDetailWindow(QWidget): def __init__(self): super().__init__() self.amount_label = QLabel('Amount:', self) self.amount_label.move(20, 20) self.amount_edit = QLineEdit(self) self.amount_edit.move(100, 20) self.uses_label = QLabel('Uses:', self) self.uses_label.move(20, 50) self.uses_edit = QLineEdit(self) self.uses_edit.move(100, 50) self.confirm_button = QPushButton('Confirm', self) self.confirm_button.move(100, 90) ``` 以上是一个简单的会员管理系统的代码示例。请注意,这只是一个示例,您需要根据自己的需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值