来自Qml Button的工具提示被QQuickView边界剪裁

时间:2016-12-19 14:21:42

标签: qt qml tooltip

我在现有的ui-Layout

中通过QQuickView元素嵌入了一个Qml按钮
QQuickView *view = new QQuickView();
view->setSource(QUrl("Buttons.qml"));
QWidget *container = QWidget::createWindowContainer(view);
ui->verticalLayout->addWidget(container);

这对Button本身来说非常有效,但是Tooltip(比Button本身略宽)会被QQuickView Widget的边界剪切掉。 我明白为什么会出现这种情况,但到目前为止我找不到解决这个问题的方法。 有没有办法在运行时将工具提示附加到QQuickComponent,其中工具提示不是由QQuickView呈现,而是由常见的Qt窗口渲染器呈现?

非常感谢任何帮助!

由于

1 个答案:

答案 0 :(得分:0)

以防万一其他人正面临这个问题:

这当然不是解决此问题的最佳方法 - 但是,它适用于我的目的:我通过将行signal send (string timerAction)添加到Qml按钮的mouseArea并附加了自定义信号onEntered 3个事件onChangedonExitsend发送字符串以及发出的QTimer信号,以启动QToolTip,重置非常相同的定时器或清除定时器。在Timer超时后,它会在C ++中使用预期的工具提示文本生成 #include<stdio.h> int main() { int n, i, j, a[5], b, temp; printf("Enter the number of elements to be sorted\n"); scanf("%d", &n); for(i = 0; i < n; ++i) { printf("%d - Enter the elements - ", i); scanf("%d", &a[i]); } for(i = 0; i < n; ++i) { for(j = 0; j < n; ++j) { if(a[j] > a[j+1]) //change the varible instead of i to j { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } for (i = 0; i < n; ++i) { printf("%d\n", a[i]); } return 0; }