在像QLabel這樣的QWidget中,我們如何設置一個「?」按鈕,這樣當點擊(或徘徊)時,它應該顯示一些幫助文本。Qt:如何設置「?」 QWidget按鈕?
回答
懸停QWidget時顯示幫助的最簡單方法是:setToolTip(QString)和setToolTipDuration(int)。 如果你想要一個「?」按鈕,只需實現你自己的QWidget。然後通過UI設計器或直接在您的代碼中添加QPushButton和QLabel佈局,並顯示您的QLabel單擊()時光標位置的幫助文本。這樣的事情:
{
// Constructor
...
m_mainLabel = new QLabel("Main text");
m_button = new QPushButton("?");
m_helpLabel = new QLabel("Help text");
connect(m_button, SIGNAL(clicked(bool)),
this, SLOT(slotShowOrHideHelpLabel(bool)));
QHBoxLayout *hBoxLayout = new QHBoxLayout;
hBoxLayout->addWidget(m_mainLabel);
hBoxLayout->addWidget(m_button);
setLayout(hBoxLayout);
}
void slotShowOrHideHelpLabel(bool showHelpLabel)
{
if (showHelpLabel)
{
m_helpLabel->show();
m_helpLabel->move(QCursor::pos());
}
else
{
m_helpLabel->hide();
}
}
感謝您的建議。而不是創建一個helpLabel,在「?」按鈕單擊,我正在爲主標籤執行setToolTip()和setWhatsThis()。但不知何故,這個工具提示和什麼是不會出現的。如何在點擊事件中啓用它們? – user2653062
您可以使用eventFilter處理主標籤上的單擊事件,而無需實現自定義類。並在單擊事件的處理程序中創建並顯示您在toolTip或whatsThis中設置的文本的helpLabel。據我所知,toolTip,WhatsThis,statusTip是持有信息的屬性。您可以將其用於您的目的,例如,單擊時顯示在標籤中)) – genesis32
此外,您可以使用QMenu,而不是QPushButton + QLabel。
// Constructor
setContextMenuPolicy(Qt::CustomContextMenu);
connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotCustomMenu(QPoint)));
// slotCustomMenu(QPoint)
QMenu menu(this);
menu.addAction(this->toolTip());
menu.addAction(this->whatsThis());
menu.exec(QCursor::pos());
- 1. 如何改變tittleBar按鈕像關閉和最小化Qt中的按鈕QWidget
- 2. 如何設置QWidget寬度?
- 3. 如何以編程方式在Qt窗口中心設置QWidget?
- 4. 如何用Qt設計器中的QTabWidget替換Qt 4.8 QWidget
- 5. [QT 5.7.1] QWidget的:一個QWidget
- 6. 如何設置onClickListner按鈕..?
- 7. Qt的按鈕如何設置內部邊界
- 8. 如何使用樣式表設置Qt按鈕的圖標?
- 9. 如何在Qt按鈕上設置標籤的字體大小?
- 10. qt QWidget點擊
- 11. Qt QWidget :: setGeomerty
- 12. QT paintEvent爲QWidget
- 13. 中央QWidget [Qt]
- 14. 在Qt中放置按鈕
- 15. QT - 如何禁用按鈕
- 16. 如何設計QWidget?
- 17. 如何設置QWidget背景色?
- 18. 如何在QGraphicsWidget中設置Qwidget?
- 19. 如何設置QWidget的用戶數據?
- 20. 由Qt設計師創建的QWidget未被識別爲QWidget
- 21. 如何設置按鈕位置?
- 22. 如何設置按鈕位置
- 23. 如何設置j按鈕的位置?
- 24. Qt QWidget :: minimumSizeHint延遲
- 25. 設置按鈕
- 26. 如何在Qt中打印QWidget?
- 27. 浮動在QWidget上的按鈕?
- 28. 如何設置按鈕的大小Xamarin
- 29. 如何設置按鈕點擊?
- 30. Unity如何將GUITexture設置爲按鈕?
看看'Qt :: WindowContextHelpButtonHint'標誌。 – vahancho