crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> сигналs QTabWidget
denis
  опции профиля:
сообщение 14.8.2009, 14:56
Сообщение #1


Новичок


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

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




Репутация:   0  


Просьба, помочь найти (или реализовать?) сигнал о смене вкладок в QTabWidget.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 14.8.2009, 15:01
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Цитата(denis @ 14.8.2009, 15:56) *
Просьба, помочь найти (или реализовать?) сигнал о смене вкладок в QTabWidget.

currentChanged(int)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
denis
  опции профиля:
сообщение 17.8.2009, 8:05
Сообщение #3


Новичок


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

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




Репутация:   0  


в хелпе я про него вычитал, но воспользоваться не получается. если не трудно, пожалуйста проконсультируйте. использую так:

TabDialog::TabDialog(QWidget *parent) : QDialog(parent){
...
AnagramPage *anagramPage = new AnagramPage;
DictPage *dictPage = new DictPage;
tabWidget = new QTabWidget;
tabWidget->addTab(anagramPage, tr("Anagram"));
tabWidget->addTab(dictPage, tr("Dictionary"));
...
connect(tabWidget, SIGNAL(currentChanged()), this, SLOT(changeStatusBar(tr("Ready11."))));
...
}

void TabDialog::changeStatusBar(QString &message){
statusBar->showMessage(message);
}

но при переключении вкладок слот не вызывается.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 17.8.2009, 8:17
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Цитата(denis @ 17.8.2009, 9:05) *
в хелпе я про него вычитал, но воспользоваться не получается. если не трудно, пожалуйста проконсультируйте.

Сигнал currentChanged имеет параметр int.
Слот changeStatusBar - передавать строку в connect нельзя, там указываются только типы параметров.

    connect(tabWidget, SIGNAL(currentChanged( int )), this, SLOT(changeMessage(int)));

void MyWidget::changeMessage( int page )
{
    QString str;
    switch( page )
    {
    case 0:    str = tr( "Page 0" );        break;
    case 1:    str = tr( "Page 1" );        break;
    ...
    }
    changeStatusBar( str );
}


Сообщение отредактировал BRE - 17.8.2009, 8:18
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
denis
  опции профиля:
сообщение 17.8.2009, 8:37
Сообщение #5


Новичок


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

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




Репутация:   0  


спасибо, за пояснение.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 6.4.2020, 8:29