首页 > 解决方案 > 如何在 PyQt5 中使用 QcomboBox 选定值获取数据库行并在 Qlabels 中显示

问题描述

我想获取数据库行值并根据组合框的选定值将其显示在一些标签中。

组合框在组合框中成功显示来自 table_1 的“item_name”。现在,每当组合框值发生变化时,我想在 label_1、label_2、label_3 等中显示“item_name”相关的行值(如 item_price、item_code、item_qty 等)。

我使用以下代码获取数据库并显示在组合框中:

    def populate_combobox(self):
    conn = sqlite3.connect('DB.db')
    c = conn.cursor()

    c.execute("SELECT item_name FROM table_1")

    data = c.fetchall()

    self.comboBox_3.clear()
    for item_name in data:
        self.comboBox_3.addItem(item_name[0])

示例:table_1 | 编号 | 商品名称|商品代码|商品数量|商品价格| | -- |---------|---------|---------|---------| | 1 | 芒果|MGO | 家企业 20 | 150 | | 2 | 香蕉|BNNA | 家企业 5 | 120 | | 3 | 苹果|APPL | 家企业 15 | 180 | | 4 | 葡萄|GRPE | 家企业 55 | 750 | | 5 | 椰子|CCN | 75 | 820 | | 6 | 南瓜|PPK | 家企业 100 | 980 |

我的期望:
如果选择了组合框值“芒果”:
label_1 = MGO
label_2 = 20
label_3 = 150

并且如果选择了组合框值“苹果”:
label_1 = APPL
label_2 = 15
label_3 = 180

提前致谢。

标签: python-3.xsqlitepyqt5

解决方案


推荐阅读