2013-09-20 3 views
0

Мне нужно отправить name и id к QComboBox, Но я хочу showname и потому id это идентификатор в таблице дБ, я хочу, чтобы как скрытый id, но я не» t знать, как сохранить скрытый id. я могу назвать такими, как:как отправить данные как скрытые в QComboBox в PyQt

self.comboBox_2.addItems(list1) 

Bu я не имею ни малейшего представления о скрытых данных.

Мой вопрос есть, как отправить данные как скрытые в QComboBox?

ответ

1

Если у вас есть модель данных на основе QAbstractItemModel, который должен столбцов «ид» и «имя», вы можете сделать это:

enum Columns 
{ 
    COL_ID, 
    COL_NAME 
} 

QComboBox *combo = new QComboBox; 
combo->setModel(model); 
combo->setModelColumn(COL_NAME) 

Если вы хотите, чтобы добавить элементы в выпадающем списке один за другим, вы делаете это:

QComboBox *combo = new QComboBox; 
combo->addItem(name, id); 

Затем вы можете получить значение идентификатора из пункта, используя поле со списком:

QString id = combo->itemData(index, Qt::UserRole).toString(); 
+0

О, нет, я не хотите показать поле id в поле со списком. – PersianGulf

+0

Сначала проверьте мой ответ. Combobox показывает только одно поле. – hank