Ich verwende PyQt6, Sqlite3 und Python, um eine Desktop-App zu erstellen, aber es ist eine Sackgasse entstanden. Ich habe das folgende Fenster, in dem die Datenbank durchsucht und die benötigten Informationen in einem Qwitget abgelegt werden. Wenn ich darauf doppelklicke, sollten die gesuchten Informationen geöffnet und in einem neuen Fenster platziert werden, aber es bringt mir alles leer.
Ich verwende PyQt6, Sqlite3 und Python, um eine Desktop-App zu erstellen, aber es ist eine Sackgasse entstanden. Ich habe das folgende Fenster, in dem die Datenbank durchsucht und die benötigten Informationen in einem Qwitget abgelegt werden. Wenn ich darauf doppelklicke, sollten die gesuchten Informationen geöffnet und in einem neuen Fenster platziert werden, aber es bringt mir alles leer.[b][code]`import sqlite3 import sys from time import strftime from PyQt6 import uic from PyQt6.QtCore import Qt,pyqtSignal from PyQt6 import QtCore, QtGui, QtWidgets from PyQt6.QtGui import QPixmap from PyQt6.QtWidgets import ( QApplication, QCheckBox, QComboBox, QDateEdit, QDateTimeEdit, QDial, QDoubleSpinBox, QFontComboBox, QLabel, QLCDNumber, QLineEdit, QAbstractItemView, QMainWindow, QProgressBar, QPushButton, QRadioButton, QSlider, QSpinBox, QTimeEdit, QVBoxLayout, QWidget, QTableWidgetItem ) from editar import EditarUi_Dialog from logistica import Ui_LogisticaDialog from logisticaform import WindowPedidoLogEditar
if Id_Ped: condiciones.append("Id_Pedido LIKE ?") parametros.append(f'%{Id_Ped}%')
if Pendiente: condiciones.append("status = ?") parametros.append("Pendiente")
if Despachado: condiciones.append("status = ?") parametros.append("Despachado") #if todo: #condiciones.append("Pendiente OR despachado = ?") #parametros.append(1)
db = sqlite3.connect('dbsirf.db') cursor = db.cursor() query = "SELECT Id_Pedido, cliente, destino, status, CASE WHEN status = status THEN 'Pendiente' WHEN status = status THEN 'Despachado' ELSE 'todo' END FROM pedidosencab" #params = (f'%{Id_Ped}%','%{pedido}%',) if condiciones: query += " WHERE " + " AND ".join(condiciones) cursor = db.cursor() cursor.execute(query, tuple(parametros)) ResultSearch = cursor.fetchall()
if ResultSearch: mbox = QtWidgets.QMessageBox() mbox.setIcon(QtWidgets.QMessageBox.Icon.Information) mbox.setWindowTitle(" 🍑 Oops!") mbox.setText("buscando[/b] ")[b] mbox.exec() self.datos = ResultSearch self.tableWidget.setColumnCount(4) self.tableWidget.setHorizontalHeaderLabels(['Pedido', 'cliente', 'destino', 'estado']) self.tableWidget.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) self.tableWidget.setRowCount(len(self.datos)) for fila_index, fila_datos in enumerate(self.datos): for col_index, dato in enumerate(fila_datos): item = QTableWidgetItem(str(dato)) self.tableWidget.setItem(fila_index, col_index, item)
self.tableWidget.cellDoubleClicked.connect(self.editar_pedido) else: mbox = QtWidgets.QMessageBox() mbox.setIcon(QtWidgets.QMessageBox.Icon.Critical) mbox.setWindowTitle(" 🍑 Oops!") mbox.setText("No se encontraron registros[/b] ")[b] mbox.exec() except sqlite3.Error as e: mbox = QtWidgets.QMessageBox() mbox.setIcon(QtWidgets.QMessageBox.Icon.Critical) mbox.setWindowTitle(" 🍑 Oops!") mbox.setText("Error al buscar el pedido: {}[/b] ".format(e))[b] mbox.exec() finally: cursor.close() db.close()
def editar_pedido(self,row, col): #print(f"Doble clic en la fila: {row}, columna: {col}") row_content = [] for col in range(self.tableWidget.columnCount()): cell_item = self.tableWidget.item(row, 0) if cell_item is not None: row_content.append(cell_item.text()) order_found = cell_item.text() ped = WindowPedidoLogEditar() self.procesador.load_order_details(order_found) ped.exec()
else: mbox = QtWidgets.QMessageBox() mbox.setIcon(QtWidgets.QMessageBox.Icon.Critical) mbox.setWindowTitle(" 🍑 Oops!") mbox.setText("Error al buscar el pedido: {}[/b] ") mbox.exec() return order_found
if __name__ == '__main__': app = QtWidgets.QApplication([QMainWindow])
window = WindowLogisticsview() window.show() sys.exit(app.exec()) [/code] ` Danach nutze ich das folgende Fenster, um die Ergebnisse den qlabels zuzuordnen, aber es erlaubt ihre Verwendung nicht [code]`import sqlite3 import sys from time import strftime from PyQt6 import uic from PyQt6.QtCore import Qt,pyqtSignal from PyQt6 import QtCore, QtGui, QtWidgets from PyQt6.QtGui import QPixmap from PyQt6.QtWidgets import ( QApplication, QCheckBox, QComboBox, QDateEdit, QDateTimeEdit, QDial, QDoubleSpinBox, QFontComboBox, QLabel, QLCDNumber, QLineEdit, QAbstractItemView, QMainWindow, ) from editar import EditarUi_Dialog from logistica import Ui_LogisticaDialog
class WindowPedidoLogEditar(QtWidgets.QDialog, Ui_LogisticaDialog):
Ok, also habe ich die anderen Beiträge im Forum durchgesehen und konnte keine ähnliche Frage finden. Hier ist die Situation, ich arbeite an einem Projekt, in dem der Benutzer eine Reihe von Auswahl...
Das ist mein Code. Wenn ich den Cursor mit meinem Finger platziere, wechselt er zufällig an einen anderen Ort als an dem Ort, an dem ich ihn platziert habe.
var textFieldValueState by remember {...
Ich möchte, dass Ihre Hilfe ein praktisches Beispiel für diese Arten von Suchfaktoren findet, damit die Unterschiede und ihre Verwendungszwecke gesehen werden. # Búsqueda lineal
def lineal(arr,...
Dieses kleine Skript findet Dateien und Ordner, indem sie rekursiv durch Verzeichnisstrukturen analysiert und die von ihnen gespeicherten Pfade zurückgegeben werden. Dies geschah, um einen Ordner auf...
Dieses kleine Skript findet Dateien und Ordner, indem sie rekursiv durch Verzeichnisstrukturen analysiert und die von ihnen gespeicherten Pfade zurückgegeben werden. Dies geschah, um einen Ordner auf...