2016-12-19 6 views
0

Я внедренная Кнопку QML через элемент QQuickView в существующем Ui-LayoutВсплывающие из QML Баттона отсекается от QQuickView границы

QQuickView *view = new QQuickView(); 
view->setSource(QUrl("Buttons.qml")); 
QWidget *container = QWidget::createWindowContainer(view); 
ui->verticalLayout->addWidget(container); 

это прекрасно работает для самого Баттона, однако в подсказке (который немного шире, чем сама кнопка) получает обрезку границы виджета QQuickView. Я понимаю, почему это происходит, однако пока не удалось найти решение этой проблемы. Есть ли способ прикрепить всплывающую подсказку к QQuickComponent во время выполнения, где всплывающая подсказка не отображается в QQuickView, а в общем рендерере Qt Window?

Любая помощь очень ценится!

Благодаря

+0

Сделайте 'QQuickView'-Widget более крупным, поэтому подсказка подходит для него? Я не думаю, что «Баттон» должен полностью заполнить его, не так ли? – derM

+0

К сожалению, это не так просто, так как QQuickView-Widget является частью groupBox, поэтому пространство ограничено и, кроме этого, делает QQuickWidget настолько большим, насколько требуется, чтобы показать полный всплывающий подсказку, разрушит существующий макет и повлечет за собой рефакторинг большей части пользовательский интерфейс приложения. :-( – t0bias

ответ

0

Только в случае, если кто-то сталкивается с этой проблемы:

Это, конечно, не самый лучший способ решить эту проблему - тем не менее, он работал для моей цели: я добавил пользовательский сигнал send путем добавления линия signal send (string timerAction) к mouseArea Баттона QML и прикрепил 3 события onEntered, onChanged, onExit которые посылают строку вместе с emited send -СИГНАЛ, либо начать QTimer, чтобы сбросить тот же таймер или очистить таймер. После таймаута таймера он выдает QToolTip из C++ с помощью текста всплывающей подсказки.

 Смежные вопросы

  • Нет связанных вопросов^_^