Родитель Python в QTreeWidget

Я работаю над плагинами Python. Я использовал QTreeWidget для вывода списка элементов. [список в qtreewidget][1] эта ссылка мне очень помогла.

Мой код:

valestimate=QTreeWidgetItem(str(parent_name))
for row in c.fetchall():
         strval=QTreeWidgetItem(unicode(row[0])) 
         valestimate.addChild(strval)
         self.treeWidget.addTopLevelItem((valestimate))

parent_name — это имя моего родителя в QTreeWidget. ПРИМЕР: 'ACO_233' Но вывод:

![введите здесь описание изображения][2]

Если я установлю число столбцов больше одного, оно будет отображаться как:

![введите здесь описание изображения][3]

Как указать полную строку в качестве родителя в Qtreewidget?? по этой ссылке [один символ в qtreewidget][4] ..inserttoplevelitem принимает список в качестве параметра..Но если я хочу сделать какой-либо элемент родительским, мы не можем добавить список в элемент типа qtreewidget. Как это сделать??


person poonam    schedule 11.07.2012    source источник


Ответы (2)


Ознакомьтесь с документацией:

 QTreeWidgetItem.__init__ (self, QStringList strings, int type = TreeWidgetItem.Type)

Создает элемент виджета дерева указанного типа. Элемент должен быть вставлен в виджет дерева. Данный список строк будет установлен как текст элемента для каждого столбца в элементе.

QTreeWidgetItem ожидает список строк для заполнения столбцов. Когда вы делаете QTreeWidgetItem(str(parent_name)), он интерпретирует строку parent_name как список символов (что и является строкой) и помещает каждый символ в столбец. Вместо этого вы должны делать:

valestimate = QTreeWidgetItem([parent_name])

Это даст вам один элемент столбца со значением parent_name в этом столбце.

(Кстати, str() или unicode() - не лучший способ конвертировать вещи. Вы должны использовать .encode для преобразования unicode в str или .decode наоборот.)

person Avaris    schedule 11.07.2012

Я получил ответ.

        valestimate=QTreeWidgetItem()
        valestimate.setText(0,str(parent_name))

Вместо прямого преобразования родительского имени в тип qtreewidget мы можем использовать свойство settext.

person poonam    schedule 11.07.2012