【发布时间】:2021-02-17 14:44:43
【问题描述】:
我正在 Qtableview 中预览一个文件,并希望用户选择他们想要导入数据框的列。此选择是通过在组合框中列出列标题来完成的,以便用户选择。
不知何故我无法填充列表,我的代码是:
def Define_Combo(self):
self.Com_X = QComboBox(self.Combo_X)
self.Com_X.clear()
self.header = self.table.horizontalHeader()
# self.header = [self.table.horizontalHeader(self, QHeaderView)]
self.Com_X.addItems(self.header)
我得到的错误是:
self.Com_X.addItems(self.header)
TypeError: addItems(self, Iterable[str]): argument 1 has unexpected type 'QHeaderView'
【问题讨论】:
-
您的代码有点混乱。首先,你为什么要创建一个新的 QTableView,据我所知,另一个 QTableView 作为父级?然后,QComboBox 的
addItems方法只接受字符串列表,而您尝试使用水平标题,这是一个 QHeaderView 实例。 -
对不起,self.table 应该超出定义,复制粘贴错误。 *编辑,从示例中删除 '''self.table = QtWidgets.QTableView(self.tableView) '''
-
有没有办法在组合框中添加列号或列标题以供选择?
-
@Zoner 请提供minimal reproducible example
标签: python pyqt5 qtableview qcombobox