14 ноября 2018 г. 5:34

QComboBox с QCheckBox

Qt, qcheckbox, QComboBox

Добрый день!

Пытаюсь сделать QComboBox с QCheckBox. Вот тут https://gist.github.com/mistic100/c3b7f3eabc65309687153fe3e0a9a720

скачал класс.

Но возникли трудности. Если вручную создавать, то не показывает флажки, пока его не выберешь (показано на картинке).

Также не могу вручную добавить новую строчку. Так не работает:

ui->SearchCheakComboBox->addCheckItem("text5", 3, Qt::Unchecked);

И не могу понять, что такое const QVariant &data в функции addCheckItem?

Скажите пожалуйста, как решить эти вопросы?





Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
3

Извините, само заработало. Магия.



Не подскажите, как узнать checkState () этих CheakBox:

    ui->SearchCheakComboBox->addCheckItem("text0", 0, Qt::Unchecked);
    ui->SearchCheakComboBox->addCheckItem("text1", 1, Qt::Unchecked);
    ui->SearchCheakComboBox->addCheckItem("text2", 2, Qt::Unchecked);

    ui->SearchCheakComboBox->addCheckItem("text3", 3, Qt::Unchecked);


вот решение

 // grab the model
  QStandardItemModel* model = qobject_cast<QStandardItemModel*> ( ui->combobox->model() );
  if (!model) { // check is important or u can/might crash 
    qDebug() << "not QStandardItemModel !";
    return;
  }

-----

  // check all if checked
  for (int row = 0; row < model->rowCount(); ++row) {
    if (model->item(row)->checkState() == (Qt::CheckState::Checked)) {
      qDebug() << "checked";
    }
  }

  // set all to checked
  for (int row = 0; row < model->rowCount(); ++row) {
    model->item(row)->setCheckState(Qt::CheckState::Checked);
  }

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Ищу работу?
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы

ДП
19 октября 2019 г. 1:45
Дмитрий Пасынков

C++ - Тест 001. Первая программа и типы данных

  • Результат:26баллов,
  • Очки рейтинга-10
AS
18 октября 2019 г. 13:27
Artem Sergeevich

C++ - Тест 001. Первая программа и типы данных

  • Результат:13баллов,
  • Очки рейтинга-10
МБ
18 октября 2019 г. 11:05
Михаил Булатов

C++ - Тест 001. Первая программа и типы данных

  • Результат:86баллов,
  • Очки рейтинга6
Последние комментарии
17 октября 2019 г. 2:17
Евгений Легоцкой

Используем, там где требуется :)
MP
17 октября 2019 г. 2:15
Mikhail Petrov

Совет: подключайте ресурсы динамически. Используйте Resource Compiler: https://doc.qt.io/qt-5/rcc.html
16 октября 2019 г. 6:45
Евгений Легоцкой

Если это не чистой воды спам, а по делу, то без проблем. Но в таком случае лучше создавайте отдельный вопрос на форуме . При создании вопроса есть поле, в котором можно указать статью…
КК
16 октября 2019 г. 6:39
Кирилл Кирилыч

А тут можно ссылки на сторонний ресурс показывать? Нашёл на habr похожую статью, только там чуток отличается код и про локальный сервер написано, нужно чтоб кто то понимающий посмотрел и своё …
Сейчас обсуждают на форуме
18 октября 2019 г. 13:30
Евгений Легоцкой

Добрый день. У вас там пробелы находятся в тексте, поэтому и не может сконвертировать. фукция map применяет float ко все символам в каждой строке. В том числе и к символам пробела. А пробе…
17 октября 2019 г. 10:31
Руслан Волшебник

Я вас понял) Спасибо ещё раз. Вы помогли мне во всём разобраться.
t
17 октября 2019 г. 4:13
tupo_chel

И тебе спасибо за помощь)
17 октября 2019 г. 2:14
Евгений Легоцкой

Добрый день. Ну да, этот вариант жизнеспособен. Есть только один момент, который вам необходимо понимать в данном случае. И чего в этой статье или нет, или сказано как-то совсем вскользь, …
EVILEG
О нас
Услуги
© EVILEG 2015-2019
Рекомендует хостинг TIMEWEB