Неважно, я обнаружил, что «%s» не будет работать с SQLite3, это должно быть «?». Вопрос может быть закрыт. Когда окно открывается, я загружаю различные имена в CB1. Когда я выбираю имя в Combo1, текущий индекс изменяется, что приводит к запуску «fill_cb2», которые должны загружать различные адреса, на которые ссылается отдельное имя в CB1. , 'от cur.execute я не получаю ошибок, а CB2 не получает никаких данных из базы данных. Если я вставлю его обратно и запускаю его, я получу код выхода -1073740791, и окно никогда не откроется. < /P>
from PyQt5.QtCore import QDate, Qt
from PyQt5.QtWidgets import (QLabel, QLineEdit,
QPushButton, QDateEdit,
QWidget, QHBoxLayout, QComboBox,
QVBoxLayout,)
import sqlite3
class Customer(QWidget):
def __init__(self, menu):
super().__init__()
self.menu = menu
self.combo1 = QComboBox()
self.combo1.currentIndexChanged.connect(self.fill_cb2)
self.combo2 = QComboBox()
self.initUI()
self.fill_cb1()
def initUI(self):
self.setWindowTitle("Customer Information")
self.setFixedSize(600, 300)
main_layout = QVBoxLayout()
main_layout.setContentsMargins(30, 10, 30, 10)
layout1 = QHBoxLayout()
layout1.setContentsMargins(0, 20, 0, 20)
label1 = QLabel("Tracking | WO No:")
label1.setStyleSheet("font-size: 16px;")
label1.setAlignment(Qt.AlignCenter)
layout1.addWidget(label1)
text1 = QLineEdit()
text1.setStyleSheet("font-size: 16px;")
text1.setFixedSize(150, 26)
layout1.addWidget(text1)
layout1.addStretch()
label2 = QLabel("Date:")
label2.setStyleSheet("font-size: 16px;")
label2.setAlignment(Qt.AlignCenter)
layout1.addWidget(label2)
text2 = QDateEdit()
text2.setStyleSheet("font-size: 16px;")
text2.setAlignment(Qt.AlignCenter)
now = QDate.currentDate()
text2.setDate(now)
layout1.addWidget(text2)
layout2 = QVBoxLayout()
layout2.setContentsMargins(0, 0, 0, 30)
label3 = QLabel("Customer Name:")
label3.setStyleSheet("font-size: 16px;")
label3.setAlignment(Qt.AlignLeft)
layout2.addWidget(label3)
self.combo1.setStyleSheet("font-size: 20px;")
self.combo1.setFixedSize(540, 30)
layout2.addWidget(self.combo1)
layout2.addStretch(30)
label4 = QLabel("Customer Address:")
label4.setStyleSheet("font-size: 16px;")
label4.setAlignment(Qt.AlignLeft)
layout2.addWidget(label4)
self.combo2.setStyleSheet("font-size: 20px;")
self.combo2.setFixedSize(540, 30)
layout2.addWidget(self.combo2)
layout3 = QHBoxLayout()
layout3.addStretch(30)
btn1 = QPushButton("Next")
btn1.setStyleSheet("font-size: 16px;")
btn1.setFixedSize(125, 40)
btn2 = QPushButton("Back")
btn2.setStyleSheet("font-size: 16px;")
btn2.setFixedSize(125, 40)
btn2.clicked.connect(lambda: self.return2menu())
layout3.addWidget(btn2)
layout3.addWidget(btn1)
main_layout.addLayout(layout1)
main_layout.addLayout(layout2)
main_layout.addLayout(layout3)
self.setLayout(main_layout)
def return2menu(self):
self.hide()
self.menu.show()
def open_issue(self):
self.hide()
def fill_cb1(self):
conn = sqlite3.connect('my_service.db')
cur = conn.cursor()
query = "SELECT DISTINCT tick_cust FROM ticket ORDER BY tick_cust;"
results = cur.execute(query)
self.combo1.clear()
for result in results:
self.combo1.addItem(result[0])
self.combo1.setCurrentIndex(-1)
conn.close()
def fill_cb2(self):
self.combo2.clear()
value1 = self.combo1.currentText()
conn = sqlite3.connect('my_service.db')
cur = conn.cursor()
query = "SELECT DISTINCT tick_addr FROM ticket WHERE tick_cust = '%s' ORDER BY tick_addr;"
cur.execute(query, (value1,))
results = cur.fetchall()
self.combo2.clear()
for result in results:
print(f'{result[0]}')
self.combo2.addItem(result[0])
self.combo2.setCurrentIndex(-1)
conn.close()
Подробнее здесь: https://stackoverflow.com/questions/794 ... d-a-depend
Я смог загрузить Qcombobox из SQLite3 DB, но не смог загрузить зависимый 2 -й Qcombobox после выбора в первом, мысли? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
MAUI Android — System.DllNotFoundException: sqlite3 в Mono.Data.Sqlite.SQLite3.Open
Anonymous » » в форуме C# - 0 Ответы
- 27 Просмотры
-
Последнее сообщение Anonymous
-
-
-
MAUI Android — System.DllNotFoundException: sqlite3 в Mono.Data.Sqlite.SQLite3.Open
Anonymous » » в форуме Android - 0 Ответы
- 34 Просмотры
-
Последнее сообщение Anonymous
-
-
-
MAUI Android — System.DllNotFoundException: sqlite3 в Mono.Data.Sqlite.SQLite3.Open
Anonymous » » в форуме C# - 0 Ответы
- 32 Просмотры
-
Последнее сообщение Anonymous
-