2016-07-07 36 views
2

提示對話框我實現了一個QTableWidget的3列 第一和第二列是一個組合框 第三列是QLineEdit的如何實現Qt的

我想顯示一個對話框,將作爲類似於Qt的提示當輸入函數的參數時。

例如,鍵入QString()將顯示一個提示對話框,其編號爲1到12,並提示該函數的參數本身。 這與自動填寫不同,因爲它只會在彈出窗口中顯示固定數量的消息。

請提出任何方式來做到這一點。

"hint" dialog or whatever it is called

+1

查看Qt Creator本身的來源怎麼樣? http://code.qt.io/cgit/qt-creator/qt-creator.git/tree/src – maxik

+0

不明白你想要什麼,但看看'QWidget :: setToolTip'方法,'QToolTip'(提供工具提示隨時顯示在任何位置)和'QCompleter'類。它也可能是一個自定義'QWidget'與'Qt :: Popup'或'Qt :: Tooltip'標誌。 – ilotXXI

+1

我第二個@maxik的評論。如果你想知道它是如何完成的,請閱讀源代碼。 –

回答

0

對於QLineEdit的你usualy做的是使用.setPlaceholderText(常量QString的& 。也許這將適用於您的應用程序。

+0

「只要行編輯爲空,設置此屬性將使行編輯顯示灰色的佔位符文本。」我認爲這不會顯示對話框,它只會在QLineEdit對象內顯示文本。當我開始在QLineEdit對象上打字時,我想顯示有點像對話框。 – steiryx

0

所有QWidget對象具有功能void setToolTip (const QString &),所以你可以做這樣的事情:

QLineEdit *lineEdit= new QLineEdit(); 
lineEdit->setToolTip("Example"); 

此外,您也紛紛類QToolTip

+0

感謝您的輸入。我會研究這一點,但我首先想到的是,它只會在懸停時觸發,而不是鍵入QLineEdit對象等動作。 – steiryx

+0

根據文檔,如果你想控制工具提示的行爲,你可以攔截'event()'函數並捕獲'QEvent :: ToolTip'事件。 – Tarod

0

要顯示在小部件的位置,你可以做一個提示:

QToolTip::showText(widget->mapToGlobal(QPoint(0, 0)), tooltipText); 

你可以在這裏輸入你想要的位置。 如果您想顯示彩色文字,請參閱SO上的this answer

查看documentation獲取更詳細的解釋。