Russian Qt Forum
Июнь 10, 2024, 05:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 4 5 [6] 7 8 ... 21
76  Qt / Пользовательский интерфейс (GUI) / Re: Отжать кнопку QToolButton : Октябрь 02, 2014, 09:16
может надо WidgetAction'у сделать
Код
C++ (Qt)
widgetAction->releaseWidget(widgetAction->defaultWidget());
?

эффект такой же как wChangeQFreq->hide(); - кнопки прячутся, а вот меню все равно остается открытым..
77  Qt / Пользовательский интерфейс (GUI) / Re: Отжать кнопку QToolButton : Октябрь 01, 2014, 22:08
я так понял ТС хочет, чтобы при нажатии на любую из кнопок выпадающего меню это самое меню пропадало

именно так! а то, что она прекрасно "отжимается" при клике вне области - это хорошо, но этого мало, она и у меня отжимается так.
К слову qt 4.8.
78  Qt / Пользовательский интерфейс (GUI) / Re: Отжать кнопку QToolButton : Октябрь 01, 2014, 16:10
окай. держите мин проект.
79  Qt / Пользовательский интерфейс (GUI) / Re: Отжать кнопку QToolButton : Октябрь 01, 2014, 13:19
диалоги слепых с глухими Улыбающийся Код - код всё решит.

=)) я же приводил код, смотри выше! Кнопка QToolButton создана в дизайнере, все что в нее помещается в коде выше!
80  Qt / Пользовательский интерфейс (GUI) / Re: Отжать кнопку QToolButton : Октябрь 01, 2014, 12:35
а, что значит заданным меню, это какое поле??! параметры меню для кнопки я никакие специально не задавал..
Понятно. Похоже Qt за тебя это сделал.
Попробуй
Код
C++ (Qt)
ui->btnQuickFreq->actions().first()->menu()->hide();

не помогает  В замешательстве вылетает!
Наврят ли сделал
qDebug() << ui->btnQuickFreq->menu();  ===> QObject(0x0)
81  Qt / Пользовательский интерфейс (GUI) / Re: Отжать кнопку QToolButton : Октябрь 01, 2014, 12:07
не нравится ему так - вылетает программа..
Коли ui->btnQuickFreq - QToolButton c выставленным popupMode() и заданным menu(), то значит что-то накосячил или недоговариваешь.

Да, ui->btnQuickFreq - это кнопка QToolButton, созданная в дизайнере и у нее popupMode = InstantPopup, есть еще MenuButtonPopup, тогда кнопка выглядит не очень-то красиво, но даже с этим свойством вылетает при попытке спрятать меню. а, что значит заданным меню, это какое поле??! параметры меню для кнопки я никакие специально не задавал..
82  Qt / Пользовательский интерфейс (GUI) / Re: Отжать кнопку QToolButton : Октябрь 01, 2014, 11:46
ui->btnQuickFreq - это кнопка QToolButton
Ну так и делай
Код
C++ (Qt)
ui->btnQuickFreq->menu()->hide().

не нравится ему так - вылетает программа..оно то вроде как меню у кнопки (выглядит так), но туда засунут целый QWidget.
может поэтому
83  Qt / Пользовательский интерфейс (GUI) / Re: Отжать кнопку QToolButton : Октябрь 01, 2014, 11:39
при чем тут:
Цитировать
ui->btnQuickFreq - это QToolButton
когда в QButtonGroup вы запихиваете QPushButton'ы

наведите порядок в коде, и приведенный мной код будет работать.
можно еще так:
Код
C++ (Qt)
group->setExclusive(false);
group->checkedButton()->setChecked(false);
group->setExclusive(true);

так, а что не понятно из кода? ui->btnQuickFreq - это кнопка QToolButton(это я уточнил в самом первом посте). и именно ее мне нужно отжать, а не кнопки группы. т.е. я нажал, на Ча, Чб.. и у меня должна отжаться кнопка БЧ(ui->btnQuickFreq) и спрятаться виджет с кнопками Ча, Чб.. То что нужно отжимать кн-ки Ча, Чб.. так это работает из-за группы и оно реализовано. мне нужно отжать как бы "родителя" - кн-ку БЧ и спрятать виджет!
84  Qt / Пользовательский интерфейс (GUI) / Re: Отжать кнопку QToolButton : Сентябрь 30, 2014, 22:10
есть еще варианты??
А в чём сложность найти от нажатой кнопки (Ча, Чb..) QMenu и спратать его?

Не совсем понял мысль..Кнопки делались так
Код:
        wChangeQFreq = new QWidget(this);
        btnGroupQuickFreq = new QButtonGroup(this);
        btnGroupQuickFreq->setObjectName("btnGroupQuickFreq");

        QHBoxLayout *layout   = new QHBoxLayout(wChangeQFreq);
        layout->setMargin (2);
        layout->setSpacing(2);

        for(int i = 0; i < NUMB_BTN_QUICK_FREQ; i++)
        {
            btnFreqQuickSelector.push_back(new QPushButton(this));
            btnFreqQuickSelector[i]->setObjectName(QString("btnFreqQS%1").arg(i));
            btnFreqQuickSelector[i]->setText(aws->workFreqsAWS.titleNameQuickFreqs[i]);
            btnFreqQuickSelector[i]->setFixedSize(40,40);
            btnFreqQuickSelector[i]->setCheckable(true);

            layout->addWidget(btnFreqQuickSelector[i]);
            btnGroupQuickFreq->addButton(btnFreqQuickSelector[i],i);
        }

        QWidgetAction *actQFreq = new QWidgetAction(this);
        actQFreq->setDefaultWidget(wChangeQFreq);
        ui->btnQuickFreq->addAction(actQFreq);

Вы предлагаете сделать что-то типо:
Код:
QMenu *menu = btnFreqQuickSelector[id_btn]->menu();
menu->hide();
так вылетает на hide()! Или как?
85  Qt / Пользовательский интерфейс (GUI) / Re: Отжать кнопку QToolButton : Сентябрь 30, 2014, 16:28
есть еще варианты??
86  Qt / Пользовательский интерфейс (GUI) / Re: Отжать кнопку QToolButton : Сентябрь 30, 2014, 11:35
Кнопки объедены  в QButtonGroup?
если да, то так:

Код
C++ (Qt)
group->setExclusive(false);
button->setChecked(false);
group->setExclusive(true);

да, объеденены в btnGroupQuickFreq. но это не помогло  Обеспокоенный кнопка не отжимается и виджет не прячется!
87  Qt / Пользовательский интерфейс (GUI) / [РЕШЕНО] Отжать кнопку QToolButton : Сентябрь 29, 2014, 16:02
Всем привет!
Подскажите, как отжать кнопку QToolButton и спрятать встроенный в нее QWidget при нажатии на одну из кнопок Ча, Чb..
ui->btnQuickFreq->setChecked(false); не помогает! В замешательстве
ui->btnQuickFreq - это QToolButton.
88  Qt / Общие вопросы / Re: Бесконечная сборка : Август 12, 2014, 19:34
у меня было такое при использовании svn. навел порядок с версиями файлов - все поправилось  Улыбающийся
89  Qt / Пользовательский интерфейс (GUI) / Re: Изменение цвета иконки : Март 23, 2014, 14:49
Спасибо за разъяснения..
Код:
QIcon tmpIcon;
    if(state)
    {
        tmpIcon.addPixmap(aws->gui->mToolBar->iconInd_M->pixmap(40,40, QIcon::Active));
        aws->gui->mToolBar->btnTypeInd_M->setIcon(tmpIcon);
    }
    else
    {
        tmpIcon.addPixmap(aws->gui->mToolBar->iconInd_M->pixmap(40,40, QIcon::Disabled));
        aws->gui->mToolBar->btnTypeInd_M->setIcon(tmpIcon);
    }

так работает (в слоте обрабоки нажатия на кнопку меняю состояние с Active на Disabled), так этот механизм и должен использоваться? или при инициализации кнопки можно задать состояния иконки при нажатой/отжатой кнопки, а не делать это в обработке? на что влияют флаги QIcon::Off и QIcon::On, не на состояние кнопки? не могу понять..
Потому что, если при инициализации писать
Код:
btnScaleUp = new QPushButton(this);
btnScaleUp->setCheckable(true);
QIcon tmpIcon;
QIcon iconBtnScaleUp(QPixmap(":/img/zoomin.png"));
tmpIcon.addPixmap(iconBtnScaleUp.pixmap(40,40, QIcon::Active,  QIcon::On));
tmpIcon.addPixmap(iconBtnScaleUp.pixmap(40,40, QIcon::Disabled,QIcon::Off));
btnScaleUp->setIcon(tmpIcon);

btnScaleUp->setIconSize(QSize(32,32));
btnScaleUp->setMinimumSize(sizeBtn);
btnScaleUp->setMaximumSize(sizeBtn);
addWidget(btnScaleUp);
то иконка всегда Disabled и состояние ее не меняется..
90  Qt / Общие вопросы / Re: Шрифты в приложении под Linux : Март 21, 2014, 15:35
две qt в системе?
если примеры из новой qt работают верно, то возможно твой проект собрался/запускается не с теми библиотеками

я ставил QtSdk-offline-linux-x86-v1.2.1 там, да 2 версии идет (4.7 и 4.Крутой.. так а как проверить правильность библиотек или хотя бы какие шрифты используются в версии 4.7?
Страниц: 1 ... 4 5 [6] 7 8 ... 21

Страница сгенерирована за 0.17 секунд. Запросов: 23.