1 / 1 / 1
Регистрация: 20.03.2017
Сообщений: 121
1

QComboBox без выбранного по-умолчанию значения

26.10.2017, 17:10. Показов 8075. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Создаю QComboBox в дизайнере. Хочу, чтобы изначально не было выбрано ни одно значение. Но по нажатию на QComboBox появлялись новые варианты, доступные для выбора. Можно ли это сделать вообще, и какой метод нужно использовать. Метод currentIndexChanged - не годится. Спасибо.

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Element::Element(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Element)
{
    ui->setupUi(this);
    connect(ui->cb2, SIGNAL(currentIndexChanged(int)), this, SLOT(adding()));
}
 
void Element::adding()
{
    ui->cb2->addItem("И");
    ui->cb2->addItem("ИЛИ");
    ui->cb2->update();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2017, 17:10
Ответы с готовыми решениями:

[Решено] QComboBox передача выбранного значения
Добрый вечер всем! Хотелось бы задать вот такой вопрос: у меня есть ComboBox в нём 5 текстовых...

Индекс выбранного элемента в QCombobox
Весь вечер промучался с одной этой проблемой. Все свойства пересмотрел, но либо они требуют ввести...

Select передача выбранного значения на сервер без перезагрузки страницы
Доброго времени суток всем! Гуру помогите разобраться с основами ajax. задача наверное для многих...

Чтение значения QComboBox из таблицы
Никак не получается считать значение, выбранное пользователем, из комбобокса, переменная "а"...

12
7784 / 6553 / 2982
Регистрация: 14.04.2014
Сообщений: 28,615
26.10.2017, 19:27 2
Ничего не выбрано - это когда currentIndex = -1. В остальном не ясно, что ты хочешь.
1
1 / 1 / 1
Регистрация: 20.03.2017
Сообщений: 121
27.10.2017, 00:23  [ТС] 3
Я просто создаю пустой QComboBox и там, соответственно, ничего нет. Но я хочу, чтобы по нажатию на этот QComboBox он уже переставал быть пустым, появлялись различные айтемы. А так не получается. Запускаю проект - в QComboBox пусто, нажимаю на QComboBox - пусто. Что я делаю не так? Может другой метод нужен?
0
487 / 365 / 93
Регистрация: 10.03.2011
Сообщений: 1,513
Записей в блоге: 5
27.10.2017, 05:58 4
lipton_v, зачем тебе такая сложность? Попробуй activated, если не сработает, хз.
0
7784 / 6553 / 2982
Регистрация: 14.04.2014
Сообщений: 28,615
27.10.2017, 08:50 5
Почему заранее нельзя заполнить?
0
1 / 1 / 1
Регистрация: 20.03.2017
Сообщений: 121
27.10.2017, 10:01  [ТС] 6
activated - не работает. Сразу заполнить нельзя, тк в зависимости от выбранного айтема нужно, чтобы создавался определенный объект класса. Если не выбрано ничего - объект не создается.
0
7784 / 6553 / 2982
Регистрация: 14.04.2014
Сообщений: 28,615
27.10.2017, 10:22 7
Да при чём тут объекты? Там же просто список. Почему его нельзя заполнить заранее, текущий не устанавливать и ничего не создавать до выбора?
0
93 / 93 / 33
Регистрация: 17.03.2012
Сообщений: 536
27.10.2017, 11:47 8
Если вы хотите по нажатию на комбобокс, добавлять в него элементы, наследуйтесь от него и переопределяйте mousePressEvent(...).
1
1 / 1 / 1
Регистрация: 20.03.2017
Сообщений: 121
28.10.2017, 10:05  [ТС] 9
Если делать так:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Element::Element(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Element)
{
    ui->setupUi(this);
    connect(ui->cb2, SIGNAL(currentIndexChanged(int)), this, SLOT(adding()));
    ui->cb2->addItem("И");
    ui->cb2->addItem("ИЛИ");
    ui->cb2->setCurrentIndex(-1);
}
void Element::adding()
{
    ui->cb2->removeItem(-1);
    ui->cb2->update();
}
То, пустой айтем присутствует всегда, и его можно выбрать. Он не удаляется из комбобокса.
0
7784 / 6553 / 2982
Регистрация: 14.04.2014
Сообщений: 28,615
28.10.2017, 14:02 10
Не наблюдаю такого. Пустой присутствует только в начале. Как только сделан выбор, он исчезает, и удалять ничего не нужно.
1
1 / 1 / 1
Регистрация: 20.03.2017
Сообщений: 121
28.10.2017, 14:25  [ТС] 11
У меня почему-то не так. И даже удаление не помогает.

Добавлено через 13 минут
Кажется понятно почему у меня по-другому. Попробую, напишу.
0
1070 / 652 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
03.11.2017, 22:25 12
Цитата Сообщение от lipton_v Посмотреть сообщение
Создаю QComboBox в дизайнере. Хочу, чтобы изначально не было выбрано ни одно значение. Но по нажатию на QComboBox появлялись новые варианты, доступные для выбора.
Вариант - сделать первым значением пустую строку. А затем записать остальные значения. Затем ниже сделать слот и подсоединить его к сигналу currentIndexChanged у QComboBox. В этом слоте реализовать удаление этого пустого нулевого элемента, если он существует.
1
1 / 1 / 1
Регистрация: 20.03.2017
Сообщений: 121
04.11.2017, 11:13  [ТС] 13
Всем спасибо за сообщения! Все работает нормально. Проблема была совсем в другом месте, поэтому пустая строка присутствовала всегда и никогда не удалялась.
0
04.11.2017, 11:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2017, 11:13
Помогаю со студенческими работами здесь

Создать функцию с двумя аргументами, имеющими значение по умолчанию; вывести на экран значения по умолчанию
Доброго времени суток, помогите пожалуйста с задачей. -Создайте функцию с двумя аргументами,...

Присваивание значения переменной значения выбранного в ComboBox
Подскажите пожалуйста, как можно организовать следующую операцию. Есть список наименований ламп...

Какое условие сделать чтобы от выбранного значения в select другой select принимал определенные значения?
выбираем например книгу и потом во втором select должно изменится значение <label...

Запись в бд выбранного значения
И еще раз здравствуйте! Имеется задачка, с которой возникли проблемы при ее реализации. Написала...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru