Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: сигналs QTabWidget
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
denis
Просьба, помочь найти (или реализовать?) сигнал о смене вкладок в QTabWidget.
AD
Цитата(denis @ 14.8.2009, 15:56) *
Просьба, помочь найти (или реализовать?) сигнал о смене вкладок в QTabWidget.

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

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
Цитата(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 );
}
denis
спасибо, за пояснение.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.