crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Положение виджетов
edwardoid
  опции профиля:
сообщение 12.7.2009, 14:44
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 171
Регистрация: 1.5.2008
Из: Ереван, Армения
Пользователь №: 164

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




Репутация:   0  


Как релизовать такое:
есть группа кнопок, по нажатию на одну из них ниже должна появится виджет который будет поверх всех виджетов рядом этими кнопками, что-то подобное реализовано в поиске на форуме, когда нажимаешь на "Поиск" появляется div.

И вообще в CSS для Qt есть такая фича как z-index?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 12.7.2009, 17:36
Сообщение #2


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

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

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




Репутация:   94  


мысли сходу:
Прицепить к кнопке всплывающее меню, а внего поместь необходимые виджеты.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 12.7.2009, 20:24
Сообщение #3


Старейший участник
****

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

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




Репутация:   9  


В теме про рисование на дочерних виджетах была ссылка на статью, где для рисования использовалось прозрачное окно, перемещающееся вместе с основным. ИМХО, это самое простое решение - отрисовывать сверху виджет, контролируя его положение и размер
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 13.7.2009, 8:25
Сообщение #4


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


edwardoid,
как вариант унаследоваться от кнопки, по щелчку показывать виджет(член класса но не child кнопки) рядом с кнопкой. можно засунуть в него всё что угонодно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 13.7.2009, 9:00
Сообщение #5


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

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

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




Репутация:   94  


Помоему мой вариант проще.
Вот часть его взята, с мизерной дороботкой, у Макса Шлее:
#include <QtGui>

// ----------------------------------------------------------------------
int main (int argc, char** argv)
{
    QApplication app(argc, argv);

    QWidget            wgt;
    QVBoxLayout        *l = new QVBoxLayout();
    
    QLabel            *label = new QLabel("Push on button");
    QPushButton        *bwm = new QPushButton("Find");
    
    QMenu            *pmnu = new QMenu();

    QLineEdit        *ed = new QLineEdit;
    ed->setText("Write here");

    QWidgetAction    *action = new QWidgetAction(0);
    action->setDefaultWidget(ed);
    
    pmnu->addAction(action);

    bwm->setMenu(pmnu);
    
    l->addWidget(label);
    l->addWidget(bwm);
    
    wgt.setLayout(l);
    wgt.show();

    return app.exec();
}

Осталось соеденить сигналы текстового поля с чем-нибудь
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 13.7.2009, 10:24
Сообщение #6


Старейший участник
****

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

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




Репутация:   9  


Или можно взять мою реализацию меню с кнопками http://www.forum.crossplatform.ru/index.ph...ost&p=21519
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 13.7.2009, 16:12
Сообщение #7


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

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

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




Репутация:   94  


edwardoid, одним словом "бери не хочу", одни сплошные готовые решения :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
edwardoid
  опции профиля:
сообщение 13.7.2009, 20:50
Сообщение #8


Участник
**

Группа: Участник
Сообщений: 171
Регистрация: 1.5.2008
Из: Ереван, Армения
Пользователь №: 164

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 13.7.2009, 18:12) *
edwardoid, одним словом "бери не хочу", одни сплошные готовые решения :)

За это я и люблю этот форум)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 17.10.2021, 21:44