PyQt5:使用QLineEdit更改QTableWidget标题标签

时间:2018-10-27 17:31:13

标签: python pyqt pyqt5 qtablewidget

所以我在QtDesigner中制作了一个表,我想使用QLineEdit.text()来命名其标题。

QLineEdit将用方括号[]表示。 QPushButton将用大括号{}表示。

列名:[placeholdertext {Name}

我正在使用QspinBox作为索引。

现在我想要的是give the user the possibility of naming all columns简单地by typing [First_name, Last_name, Id_Number, ...],但是i dont know how to name the headers都不怎么使用split东西

我如何做到这一点?

更新:

enter image description here

def NameHeaders(self):
    colpos = self.ColumnSpinBox.value()
    colname = self.nameColumnLineEdit.text()
    model = QtGui.QStandardItemModel()
    model.setVerticalHeaderLabels(colname, split(","))
    self.TableWidget.setModel(model)

这是我创建的与

链接的函数
"Name column/Row" Button

(目前,它仅专注于命名列而不是行)

所以我想通过在QlineEdit列中键入名称来命名列,例如:First_name,Last_name,Id_number,...

我想让代码检测逗号之间的文本并将每个文本分配给QSpinBox的值

示例:

QSpinBoxValue: 2 || Column name : First_name, Last_name, id_number


On_Click 'Name Column/Row' Button: 


assign First_name to Header with index 0


assign Last_name to header with index 1


assign Id_Number to header with index 2

我的例子清楚吗?

1 个答案:

答案 0 :(得分:0)

当您想用逗号之间的单词数更新QSpinBox时,第一件事就是使用textChanged的{​​{1}}信号,以便每次更改文本时通知它,分开单词,对它们进行计数并更新QLineEdit。要在标题中设置文本,您必须使用QSpinBox,但在此之前必须根据需要更改列数。

setHorizontalHeaderLabels()