diff options
author | Thorbjørn Martsum <tmartsum@gmail.com> | 2013-06-23 08:46:55 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-06-25 14:12:54 +0200 |
commit | 241ba7dc071e563ca89ac681a4aafbee555bef36 (patch) | |
tree | 5a29f5f0376272cbc48dcf268b9402552656bb36 /tests/manual/widgets | |
parent | b11cb96f282fb1037ad31fbafe279c9a8a8dfeda (diff) |
QWidget - add property toolTipDuration
This adds a property that specifies how long a tooltip is displayed.
This partly solves:
Task-number: QTBUG-1016
Change-Id: Ieea218bbcb869f6b48e72913d967e74fa792f2e2
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Diffstat (limited to 'tests/manual/widgets')
-rw-r--r-- | tests/manual/widgets/kernel/qtooltip/main.cpp | 55 |
1 files changed, 48 insertions, 7 deletions
diff --git a/tests/manual/widgets/kernel/qtooltip/main.cpp b/tests/manual/widgets/kernel/qtooltip/main.cpp index d8621de6db..d0f0db8ff5 100644 --- a/tests/manual/widgets/kernel/qtooltip/main.cpp +++ b/tests/manual/widgets/kernel/qtooltip/main.cpp @@ -39,29 +39,70 @@ ** ****************************************************************************/ -#include <QtWidgets> #include <QTest> +#include <QDialog> +#include <QToolTip> +#include <QLabel> +#include <QPushButton> +#include <QVBoxLayout> -void showSomeToolTips() +class TestDialog : public QDialog +{ + Q_OBJECT +public: + TestDialog(); +protected slots: + void showSomeToolTips(); +}; + +void TestDialog::showSomeToolTips() { QPoint p(100 + 20, 100 + 20); for (int u = 1; u < 20; u += 5) { - QString s = "Seconds: " + QString::number(u); + QString s = tr("Seconds: ") + QString::number(u); QToolTip::showText(p, s, 0, QRect(), 1000 * u); QTest::qWait((u + 1) * 1000); } - QToolTip::showText(p, "Seconds: 2", 0, QRect(), 2000); + QToolTip::showText(p, tr("Seconds: 2"), 0, QRect(), 2000); QTest::qWait(3000); - QToolTip::showText(p, "Standard label", 0, QRect()); + QToolTip::showText(p, tr("Standard label"), 0, QRect()); QTest::qWait(12000); } +TestDialog::TestDialog() +{ + // Notice that these tool tips will disappear if another tool tip is shown. + QLabel *label1 = new QLabel(tr("Tooltip - Only two seconds display")); + label1->setToolTip(tr("2 seconds display")); + label1->setToolTipDuration(2000); + Q_ASSERT(label1->toolTipDuration() == 2000); + + QLabel *label2 = new QLabel(tr("Tooltip - 30 seconds display time")); + label2->setToolTip(tr("30 seconds display")); + label2->setToolTipDuration(30000); + + QPushButton *pb = new QPushButton(tr("&Test")); + pb->setToolTip(tr("Show some tool tips.")); + Q_ASSERT(pb->toolTipDuration() == -1); + connect(pb, SIGNAL(clicked()), this, SLOT(showSomeToolTips())); + + QVBoxLayout *layout = new QVBoxLayout; + layout->addWidget(label1); + layout->addWidget(label2); + layout->addWidget(pb); + + setLayout(layout); +} + int main(int argc, char *argv[]) { QApplication app(argc, argv); - showSomeToolTips(); - return 0; + TestDialog dlg; + dlg.show(); + return app.exec(); } + +#include "main.moc" |