Russian Qt Forum
Ноябрь 25, 2024, 00:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как перенести информацию в комбобокс????  (Прочитано 6571 раз)
lexflax
Гость
« : Январь 25, 2014, 08:44 »

Доброго времени суток.
Мне нужно получить значение первого поля из строки что выбрал пользователь , и результат записать в комбобокс...
Получаю значение так
Код:
QModelIndex current  = ui->tableView->currentIndex();
     qDebug()<<ui->tableView->model()->data(ui->tableView->model()->index(current.row(),0),0);
как полученное значение добавить в Combobox? подскажите пожалуйста.
Записан
lexflax
Гость
« Ответ #1 : Январь 25, 2014, 10:13 »

как результат этой строчки добавить в comboBox
Код:
ui->tableView->model()->data(ui->tableView->model()->index(current.row(),0),0);
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #2 : Январь 25, 2014, 12:00 »

addItem не пробовали? документацию почитать религия не позволяет?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Январь 25, 2014, 12:02 »

открой-ка документацию QComboBox, метод найдешь интуитивно если английский знаешь хоть немного
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Vamireh
Гость
« Ответ #4 : Январь 25, 2014, 14:28 »

Возможно лучше будет setModel() и setModelColumn(), а потом просто setCurrentIndex()
Записан
lexflax
Гость
« Ответ #5 : Январь 25, 2014, 14:39 »

addItem пробовал, как то так
Код:
ui->comboBox->addItem((ui->tableView->model()->data(ui->tableView->model()->index(current.row(),0),0)));
но выдает такую ошибку
Код:
D:\project qt new\untitled\untitled33\mainwindow.cpp:93: ошибка: no matching function for call to 'QComboBox::addItem(QVariant)'
Записан
Vamireh
Гость
« Ответ #6 : Январь 25, 2014, 14:45 »

addItem пробовал, как то так
Код:
ui->comboBox->addItem((ui->tableView->model()->data(ui->tableView->model()->index(current.row(),0),0)));
но выдает такую ошибку
Код:
D:\project qt new\untitled\untitled33\mainwindow.cpp:93: ошибка: no matching function for call to 'QComboBox::addItem(QVariant)'

Еще бы, в хелпе написано:
Код:
void QComboBox::addItem(const QString & text, const QVariant & userData = QVariant())
Записан
lexflax
Гость
« Ответ #7 : Январь 25, 2014, 15:30 »

один фиг не понимаю... объясните подробно... типы данных его не устраивают? я просто не понимаю как переделать чтоб он принимал информацию...
Записан
Vamireh
Гость
« Ответ #8 : Январь 25, 2014, 15:47 »

Возможно лучше будет setModel() и setModelColumn(), а потом просто setCurrentIndex()

суете ему ту же модель, нужный номер столбца для отображения и задаете номер строки выбранную пользователем
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #9 : Январь 25, 2014, 15:48 »

addItem пробовал, как то так
Код:
ui->comboBox->addItem((ui->tableView->model()->data(ui->tableView->model()->index(current.row(),0),0)));
но выдает такую ошибку
Код:
D:\project qt new\untitled\untitled33\mainwindow.cpp:93: ошибка: no matching function for call to 'QComboBox::addItem(QVariant)'

У типа qvariant есть метод toString() Подмигивающий
И лучше, хоть небольшое форматирование кода делать Подмигивающий
Код
C++ (Qt)
QAbstractItemModel * model = ui->tableView->model();
 
int row = ui->tableView->currentIndex().row();
int column = 0;
const QModelIndex & index = model->index( row, column );
const QString & text = model->data( index, Qt::DisplayRole ).toString();
ui->comboBox->addItem( text );
 
« Последнее редактирование: Январь 25, 2014, 15:50 от gil9red » Записан

lexflax
Гость
« Ответ #10 : Январь 25, 2014, 15:58 »

gil9red спасибо очень помогли)
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #11 : Январь 25, 2014, 16:03 »

Да на здоровье Улыбающийся
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.073 секунд. Запросов: 23.