crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

4 страниц V   1 2 3 > »   
Ответить в данную темуНачать новую тему
> Не могу разобраться с combobox и QpushButton, Как сделать кнопочку автивно при выборе элемента?
Andrewshkovskii
  опции профиля:
сообщение 27.12.2008, 16:09
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Сабж. Я только сегодня сел изучать Qt.. но никак не могу понять ,как реализовать сабж.
Допустим есть кнопочка :

QPushButton *choose = new QPushButton("Выбрать!");

и выпадающий список :
QStringList list;
list << " " << "profile 1" << "profile 2" << "profile 3" << "profile 4" << "profile 5";
QComboBox *combobox = new QComboBox;
combobox->addItems(list);

Я так понимаю, что надо написать фукнцию, которая будет вызываться как сигнал, при выборе хотя бы одного элемента, так?
Как её можно реализовать?Какой слот или сигнал есть у комбобокса, возвращающий какое-либо значение, когда выбран элемент?
Ещё вопрос :
Как сделать в списке пустой элемент?Я имею ввиду не " " - т.к это тоже элемент списка, и в моем случае, при его выборе, кнопка будет активной.Я про пустой не выбираемый элемент.

Тоже самое мне надо реализовать для флажкой(QCheckBox).т.е , есть флажок, и таже самая кнопочка.
Подскажите, пожалуйста..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2008, 16:20
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Andrewshkovskii, задачу я не понял. Расскажи без кода, просто на словах, что делает пользователь - что он видит.

Цитата(Andrewshkovskii @ 27.12.2008, 19:09) *
Какой слот или сигнал есть у комбобокса, возвращающий какое-либо значение, когда выбран элемент?
слот не возвращает значение, а принимает. См. документацию QComboBox подраздел Сигналы
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 27.12.2008, 16:28
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Хорошо, это сейчас полистаю.а что насчет "пустого" элемента?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2008, 16:34
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Andrewshkovskii @ 27.12.2008, 19:28) *
а что насчет "пустого" элемента?
а вот я не понял, что ты под этим понимаешь.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 27.12.2008, 16:36
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Ну..я попробывал через сигнал activated(),
QObject::connect(combobox,SIGNAL(activated(1)),mw,SLOT(show()));, вот так, mw- виджет.== ничего не происходит.

Ну пустой элемент в моем понимании - это нулевое значение списка,тоесть НИЧЕГО НЕ ВЫБРАНО. и отображается как пустота в списке..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2008, 17:06
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Andrewshkovskii @ 27.12.2008, 19:36) *
QObject::connect(combobox,SIGNAL(activated(1)),mw,SLOT(show()));
тут полная ересь, что за еденичка? Читай про сигналы и слоты.
А также про функцию QObject::connect

Цитата(Andrewshkovskii @ 27.12.2008, 19:36) *
ничего не происходит.
на самом деле происходит. чтобы видеть, что происходит, добавь в свой pro-файл такую строку:
CONFIG += console

сделай
qmake
make

и после запуска приложения у тебя появится консоль, в которую Qt будет сообщать об ошибка времени выполнения связанных либо с сигналами/слотами, либо с метаобъектной информацией, а также о драйверах СУБД.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2008, 18:08
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Andrewshkovskii, если еще не понял ошибку с соединением, глянь в FAQ, набросал наскору руку: Сигналы и слоты (Qt).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 27.12.2008, 18:28
Сообщение #8


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Да я щас сижу код свой переписываю, с дуру начал писать без классов, просто сплошняком.щас доперепишу, буду разбираться..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2008, 18:34
Сообщение #9


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Andrewshkovskii @ 27.12.2008, 21:28) *
с дуру начал писать без классов, просто сплошняком.щас доперепишу, буду разбираться..
для мелких примеров можно и без классов.
Замечание: При написании класса разделяй интерфес от реализации на два отдельных файла *.h и *.cpp (иначе прийдется руками инклюдить продукт деятельности MOC'а)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 27.12.2008, 19:01
Сообщение #10


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Да это я знаю, я на с++ пишу уже 2 года... сегодня сел просто за Qtшечку, и есть некоторые не понятки. Ну там как пример..диалоговое окно, там по критериям надо выбрать веб-почту ...

И так, проблема.
Пытаюсь объявить закрытый слот :
#ifndef MAIN_CHOOSE_H_
#define MAIN_CHOOSE_H_
#include <QWidget>
#include <QDialog>
class QCheckBox;
class QLabel;
class QPushButton;
class QWidget;
class QStringList;
class QComboBox;
class QVBoxLayout;

class Mail_choose: public QDialog {

Q_OBJECT

public :

    Mail_choose(QWidget *parent = 0);

    signals :
    void increase(int &i);

    private slots:
    void SetChooseButtonProfileEnable();

private://...
//...


Пишу в эклипсе, вот ерор лог :

make: *** [release] Error 2
make[1]: *** [release\_.exe] Error 1
release/moc_mail_choose.o:moc_mail_choose.cpp: undefined reference to`Mail_choose::SetChooseButtonProfileEnable()'

Не пойму, в чем дело?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2008, 19:06
Сообщение #11


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Andrewshkovskii @ 27.12.2008, 22:01) *
Не пойму, в чем дело?
реализация в отдельном файле?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 27.12.2008, 19:21
Сообщение #12


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Да. в реализации этот метод не реализуется пока, в хидере лишь его описание лежит,.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2008, 19:25
Сообщение #13


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Andrewshkovskii, предлагаю сделать примитивный пример, три файла main.cpp, class.h, class.cpp в классе реализовать
signals :
    void increase(int &i);

    private slots:
    void SetChooseButtonProfileEnable();

слот будет в консоль через qDebug() что-нибудь выводить.

для проверки все ли в эклипсе настроено.

Ну и не грех для начала в командной строке скомпилить.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 27.12.2008, 20:09
Сообщение #14


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Я, если честно, не совсем понял что хотелось от меня.Не, ну то что собрать консольное приложение это ясно.а вот остальное.я извиняюсь, но у меня просто уже голова не варит, я с 12 часов сижу с кутешечкой:) попробывал в KDevelop скомпилить, таже фигулена..

Ой, QDevelop т.е
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2008, 20:13
Сообщение #15


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Andrewshkovskii @ 27.12.2008, 23:09) *
собрать консольное приложение это ясно
не консольное. Просто без эклипса в командной строке в каталоге где лежит pro-файл, скомандовать:
qmake
make

соберется?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 27.12.2008, 20:21
Сообщение #16


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


C:\storage\programming\workspace\1>qmake

C:\storage\programming\workspace\1>make
MAKE Version 4.0 Copyright © 1987, 1996 Borland International
Fatal: 'FORCE' does not exist - don't know how to make it
Пробывал так же "мэйкать" сорцы напрямую - не дало результата.

упс, видимо у меня make не тот?борландовский от Bc5..

C:\storage\programming\workspace\1>qmake

C:\storage\programming\workspace\1>mingw32-make.exe
mingw32-make.exe -f Makefile.Release
mingw32-make.exe[1]: Entering directory `C:/storage/programming/workspace/1'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -Wl,-s -mthreads -Wl -Wl,-subsystem,windows -o release\_.exe release/mail_cho
ose.o release/main.o release/moc_mail_choose.o -L"c:\storage\programming\qt-win
-opensource-src-4.4.3\lib" -lmingw32 -lqtmain -lQtGui -lgdi32 -lcomdlg32 -loleau
t32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lkernel32 -luser32 -lshell32
-luuid -lole32 -ladvapi32 -lws2_32
release/moc_mail_choose.o:moc_mail_choose.cpp:(.text+0x11e): undefined reference
to `Mail_choose::findClicked()'
collect2: ld returned 1 exit status
mingw32-make.exe[1]: *** [release\_.exe] Error 1
mingw32-make.exe[1]: Leaving directory `C:/storage/programming/workspace/1'
mingw32-make.exe: *** [release] Error 2

C:\storage\programming\workspace\1>
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2008, 20:24
Сообщение #17


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Andrewshkovskii, у тебя примеры Qt'явые вообще компилятся?

Qt'я какой версии, как ставил? автойстановщик или компилил из исходников?
я чую тебе сюда надо: Установка Qt
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 27.12.2008, 20:45
Сообщение #18


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


щас попробую)

ИЗ сорцов собирал, по вашей инструкции. Сначала с новым мингв оно не хотело компилиться, взял тот, что с QtCreator идет, скомпилил. Т.к ещё и просто на С++ пишу, поставил обратно новый MinGw (5.1.4 вроде он) и вот я здесь..

попробывал с старым мингв, тот что с криэйтором шел(3. с чем-то) , тоже самое.

Вообще, все компилиться кроме слотов..

ну, тоесть с ними поблема..

Примеры из книги Бланшета собираются нормально..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2008, 20:47
Сообщение #19


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


попробуй вот это пример у себя, сначало в командной строке скомпилить, а потом в Эклипсе.
Прикрепленный файл  Qt_test1.zip ( 1.5 килобайт ) Кол-во скачиваний: 230
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 27.12.2008, 20:50
Сообщение #20


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Твой пример везде скомпилился нормально.значит что-то у меня в коде...:/
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2008, 20:53
Сообщение #21


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Andrewshkovskii, попробуй доработать этот пример, добавив сигнал в класс CTest и соеденить его со слотом, по аналогии с твоим приложением.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sagifire
  опции профиля:
сообщение 27.12.2008, 22:07
Сообщение #22


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 5.11.2008
Пользователь №: 412

Спасибо сказали: 0 раз(а)




Репутация:   1  


Цитата(Andrewshkovskii @ 27.12.2008, 20:21) *
release/moc_mail_choose.o:moc_mail_choose.cpp:(.text+0x11e): undefined reference
to `Mail_choose::findClicked()'


Ошибка из-за отсутствия релизации метода
Попробуй такое описание: void мой_метод(){return;}
Или добавь реализацию метода в moc_mail_choose.cpp
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 27.12.2008, 22:17
Сообщение #23


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


черт, не думал что qt требует наличие реализации сингалов..спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2008, 22:41
Сообщение #24


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Andrewshkovskii @ 28.12.2008, 1:17) *
наличие реализации сингалов..спасибо!
у сигнала не должно быть реализации!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 27.12.2008, 22:47
Сообщение #25


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Это как это?может мы под реализацией понимаем каждый свое?
Ведь в хидере объявляешь сигнал .В сорце его реализуешь. как и обычные методы класса.что не так?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sagifire
  опции профиля:
сообщение 27.12.2008, 22:54
Сообщение #26


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 5.11.2008
Пользователь №: 412

Спасибо сказали: 0 раз(а)




Репутация:   1  


Для сигналов реализации не нужно, только для методов и слотов.
Но ошибка "undefined reference" значит отсутствие реализации
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.12.2008, 23:04
Сообщение #27


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(sagifire @ 28.12.2008, 1:54) *
Но ошибка "undefined reference" значит отсутствие реализации
такая ошибка возникает, когда и объявление/интерфейс и реализация класса в одном файле. Но Andrewshkovskii, говорит, что они в разных. Поэтому не понятно в чем дело.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 28.12.2008, 0:49
Сообщение #28


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Все, понял..сигналы генерируются..слоты вызываются по сигналам..спасибо

не...не получается..
Значит так :
При изменении позиции в QCombobox генерируется сигнал activated,так?
Пишу слот :
private slots:
void SetChooseButtonProfileEnable();

Соединяю так :
connect(ProfileList, SIGNAL(activated()), this, SLOT(SetChooseButtonCriteriaEnable() ) );
ProfileList - этой мой combobox.

Что я делаю не так?...

Реализация SetChooseButtonProfileEnable

void Mail_choose:: SetChooseButtonProfileEnable(int index)
{
ChooseProfile->setEnabled(true);
}
;
+Поменял описания слота и соединение :
connect(ProfileList,SIGNAL(activated(int)),this,SLOT(SetChooseButtonCriteriaEnab
le(int)));

Только смысла от этого...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 28.12.2008, 0:56
Сообщение #29


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Andrewshkovskii @ 28.12.2008, 3:49) *
Что я делаю не так?...
завтра на свежую голову пример накидаю
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 28.12.2008, 13:03
Сообщение #30


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Litkevich Yuriy, что насчет примера?..я просто никак успокоиться не могу..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 28.12.2008, 13:54
Сообщение #31


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Andrewshkovskii @ 28.12.2008, 16:03) *
что насчет примера?
щас накидаю
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 28.12.2008, 14:41
Сообщение #32


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


В этой программе два окошка, одно наследник QDialog. А второе просто для демонстрации работы самодельного сигнала.
main.cpp

#include <QtGui>
#include "class.h" 

int main(int argc, char *argv[])
{
  QApplication     app(argc, argv);
    // Устанавливаем кодеки
    QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); // Для функций перевода tr()

  CTest        wgt;// основной виджет
  QLabel   ctrlwgt;// виджет для контроля
  
    // Соеденяем самодельный сигнал самодельного виджета
    // со стандартным слотом метки (QLable)
    QObject::connect(&wgt, SIGNAL(sigChange(int)), &ctrlwgt, SLOT(setNum(int)));
    
    // т.к. оба неимеют родителя - виджеты верхнего уровня
    // надо обоим сказать, чтобы появились
    ctrlwgt.show();
    wgt.show();
    
    return app.exec();
}


class.h

#ifndef CLASS_H
#define CLASS_H

#include <QDialog>

class QComboBox;
class QPushButton;

class CTest: public QDialog
{
    Q_OBJECT

public:
    CTest(QWidget *parent = 0);

signals:
    void sigChange(int);

private:
    QComboBox        *cb;
    QPushButton        *btn;
    
private slots:
    void slotComboChange(int);
};

#endif //CLASS_H


class.cpp

#include <QtGui>
#include "class.h"

CTest::CTest(QWidget *parent):QDialog(parent)
{
  QStringList    list;
  QVBoxLayout    *lay = new QVBoxLayout;

    cb = new QComboBox(this); 
    list << " " << "profile 1" << "profile 2" << "profile 3" << "profile 4" << "profile 5";
    cb->addItems(list);
    connect(cb, SIGNAL(currentIndexChanged(int)), this, SLOT(slotComboChange(int)));

    btn = new QPushButton(this);
    btn->setText(tr("Тык"));
    
    lay->addWidget(cb);
    lay->addWidget(btn);
    
    this->setLayout(lay); 


    qDebug() << "QComboBox is visible? " << cb->isVisible();

}

void CTest::slotComboChange(int idx)
{
qDebug() << "Curent index=" << idx;
    
    // посылаем самодельный сигнал,
    // передавая в качестве параметра текущий индекс выпадающего списка
    emit sigChange(idx);

}



да кодировка файлов UTF-8, поэтому setCodecForTr имеет такое значение. если у тебя другая - исправь
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

4 страниц V   1 2 3 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 3.6.2025, 19:03