| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- import sys
- from stringprep import in_table_c11
- from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QHBoxLayout, QWidget, QPushButton, QTabWidget, QLabel, QLineEdit, QTextEdit, QFormLayout, QMessageBox, QTreeWidget, QTreeWidgetItem, QDialog, QVBoxLayout as QDialogVBoxLayout, QLineEdit as QDialogLineEdit, QDialogButtonBox, QCheckBox, QComboBox
- from PyQt5.QtCore import Qt
- import requests as req
- import time,random,numpy as np
- import threading
- import asyncio
- import json
- from PyQt5.QtWidgets import QFileDialog
- from PyQt5.QtCore import pyqtSignal, QObject,pyqtSlot
- import sqlite3
- from CollectibleDialog import CollectibleDialog
- class QualityDialog(QDialog):
- def __init__(self, parent=None, title="添加品质", initial_code="", initial_name=""):
- super().__init__(parent)
- self.setWindowTitle(title)
- self.setGeometry(100, 100, 400, 150)
- layout = QDialogVBoxLayout()
- # 品质编码输入框
- code_label = QLabel("品质编码")
- self.quality_code_edit = QDialogLineEdit()
- self.quality_code_edit.setText(initial_code)
- layout.addWidget(code_label)
- layout.addWidget(self.quality_code_edit)
- # 品质名称输入框
- name_label = QLabel("品质名称")
- self.quality_name_edit = QDialogLineEdit()
- self.quality_name_edit.setText(initial_name)
- layout.addWidget(name_label)
- layout.addWidget(self.quality_name_edit)
- button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel)
- button_box.accepted.connect(self.accept)
- button_box.rejected.connect(self.reject)
- layout.addWidget(button_box)
- self.setLayout(layout)
- @staticmethod
- def add_quality(self):
- dialog = QualityDialog(self, "添加品质")
- if dialog.exec():
- quality_code = dialog.quality_code_edit.text()
- quality_name = dialog.quality_name_edit.text()
- if quality_code and quality_name:
- item = QTreeWidgetItem(self.quality_tree_widget)
- item.setText(1, quality_code)
- item.setText(2, quality_name)
- checkbox = QCheckBox()
- checkbox.setChecked(False)
- self.quality_tree_widget.setItemWidget(item, 0, checkbox)
- @staticmethod
- def delete_quality(self):
- selected_items = self.quality_tree_widget.selectedItems()
- for item in selected_items:
- (item.parent() or self.quality_tree_widget).takeTopLevelItem(self.quality_tree_widget.indexOfTopLevelItem(item))
- @staticmethod
- def edit_quality(self):
- selected_items = self.quality_tree_widget.selectedItems()
- if len(selected_items) != 1:
- QMessageBox.warning(self, "编辑品质", "请选择一个品质进行编辑")
- return
- item = selected_items[0]
- dialog = QualityDialog(self, "编辑品质", item.text(1), item.text(2))
- if dialog.exec():
- new_quality_code = dialog.quality_code_edit.text()
- new_quality_name = dialog.quality_name_edit.text()
- if new_quality_code and new_quality_name:
- item.setText(1, new_quality_code)
- item.setText(2, new_quality_name)
- @staticmethod
- def save_qualities(self):
- # 连接到SQLite数据库
- conn = sqlite3.connect('buff.db')
- cursor = conn.cursor()
- # 清空表中的数据
- cursor.execute('DELETE FROM qualities')
- # 获取树形控件中的所有项
- for i in range(self.quality_tree_widget.topLevelItemCount()):
- item = self.quality_tree_widget.topLevelItem(i)
- quality_code = item.text(1)
- quality_name = item.text(2)
- checkbox = self.quality_tree_widget.itemWidget(item, 0)
- selected = checkbox.isChecked() # 获取复选框的状态
- # 插入数据到表中
- cursor.execute('''
- INSERT INTO qualities (code, name,selected)
- VALUES (?, ?, ?)
- ''', (quality_code, quality_name,selected))
- # 提交更改并关闭连接
- conn.commit()
- conn.close()
- QMessageBox.information(self, "保存品质信息", "品质信息已成功保存")
|