Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Qt как прицепить окно к краю рабочего стола  (Прочитано 641 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн _XDD_

  • Автор темы
  • Участник
  • *
  • Сообщений: 108
    • Просмотр профиля
есть иконка в треи. по нажатию на него, показывается widget(popup). Все работает, но нужно чтобы widget был с краю, а не где попало (желательно рядом с треем).

Как можно такое сделать?(((


и еще вопрос, не могу понять ((( есть класс от QWidget - SendingWindow который по сути есть контейнер виджетов. есть ф-я которая добавляет в него виджет. Так вот, когда окно показанно (SendingWindow в смысле), то все добавлется в него. А когда оно скрыто(через hide), то приложение завершается (не падает, а именно завершается).
    _sendingWindow->hide();
    _sendingWindow->addSend(QString("%1").arg(_listRSI.count()));
завершается при таком событии.

Для проверки даже так сделал
    _sendingWindow->show();
    _sendingWindow->addSend(QString("%1").arg(_listRSI.count()));
    _sendingWindow->hide();
чтобы уж наверняка. И конечно все добавляется. Что эт за бред? Если не понятно объяснил, могу приложить исходники (просто там несколько файлов)

аналог окна состояния, как в kde хочу тоесть сделать.
« Последнее редактирование: 26 Октября 2013, 06:35:37 от _XDD_ »

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3037
    • Просмотр профиля
Re: Qt как прицепить окно к краю рабочего стола
« Ответ #1 : 25 Октября 2013, 23:19:42 »
Насчёт _sendingWindow не знаю, а для расположения не пробовали
использовать setGeometry?
Пётр.

Оффлайн _XDD_

  • Автор темы
  • Участник
  • *
  • Сообщений: 108
    • Просмотр профиля
Re: Qt как прицепить окно к краю рабочего стола
« Ответ #2 : 26 Октября 2013, 07:36:08 »
Peter_I,
проснувшись, сел с новыми силами.

нашел на rsdn(O_o) вот такой выход, как узнать координаты бара, если там есть иконка(как раз как мое):
   QRect trayR = m_tray->geometry();
   QPoint myPos = trayR.topLeft();

а вот про добавление виджета в скрытое окно, вопрос актуален :(

 

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