gpt4 book ai didi

python - PyQt - 将组合框文本传递给变量

转载 作者:行者123 更新时间:2023-12-01 08:10:25 24 4
gpt4 key购买 nike

我有一个组合框下拉列表,其中包含来自 SQL 查询的客户列表。我有一个名为 FinalButton 的不同按钮,我想在其中执行其他操作。其中之一需要我在组合框中获取客户名称并将其存储在变量中以便在 FinalButton 中使用。

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QFileDialog, QMessageBox
from config_assign_ui import Ui_ConfigAssign
import pyodbc
import pandas as pd

class Main(QtWidgets.QMainWindow, Ui_ConfigAssign):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
self.setupUi(self)
self.combo_list()
self.FinalButton.clicked.connect(self.final_button)


def combo_list(self):
self.customerlistbox.clear()
conn = pyodbc.connect(
r'DRIVER={ODBC Driver 13 for SQL Server};'
r'SERVER=server;'
r'DATABASE=db;'
r'Trusted_Connection=yes;'
)

querystring = """SELECT CustomerName
FROM [CustomerTable]"""

cursor = conn.cursor()
cursor.execute(querystring)
customerlist = []
# Dump results into a list called customerlist
customerlist = [row[0] for row in cursor.fetchall()]
for i in customerlist:
self.customerlistbox.addItem(str(i))

def final_button(self):
print(self.customerlistbox.itemText())

最后一行产生类型错误:itemText(self, int):没有足够的参数。我怎样才能实现我想要的?

最佳答案

itemText() 是一种返回给定索引的项目文本的方法,在您的情况下,您没有传递它。我认为您需要的是所选项目的文本,为此您必须使用 currentText()

def final_button(self):
print(self.customerlistbox.currentText())

关于python - PyQt - 将组合框文本传递给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55288450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com