Qt 4 x實現QMenu選單向上彈出選單方法

2021-05-24 09:49:04 字數 502 閱讀 9588

比如我們要在點某個按鈕後在按鈕上方彈出選單,該如何操作呢?

我們知道,qmenu是乙個很**的東西,是乙個top-level的構件,menu.exec(pos)這裡的pos總是樹於螢幕的。

還有它的彈出方向總是向下的。

可是我的地盤,就是要由我作主,我就是要在上方彈出,該如何實現呢?

google了一下,古今中外,無數人鬱悶中,我也鬱悶過了,最終還是搞出來了,與大家分享。

請參考下面的**。夠簡單,就不注釋了。

void dialog::on_btnoperator_clicked()

qpoint pos;

pos.setx(0);

pos.sety(-menu->sizehint().height());

menu->exec(ui->btnoperator->maptoglobal(pos));

效果如下

用Qt Creator實現Qt對話方塊上的選單

最近要用qt寫個小工具,其中需要實現qt對話方塊上的選單效果 看看我這裡的這麼多選單項,如果全用 來實現,這不要累死個人嗎?於是想到了用qt creator來解決問題。不幸的是,基於qdialog的ui是無法配置選單的,只有基於qmainwindow的ui才能配置選單 不知道為什麼qt creato...

lucene4 x的分組實現

lucene在4.x之前,沒有實現分組的功能,如果業務中有需要分組的功能,那麼必須的借助第三方的提供的外掛程式,來實現分組,例如bobo browse,或者,自己用lucene寫分組功能,筆者個人覺得用第三方的分組外掛程式,雖說功能強大,但是比較繁瑣,自己寫的話,可以實現,但是效率方面卻不是很好,在...

Qt中文亂碼問題在4 x版本和5 x版本的解決方法

qt程式中文經常亂碼,雖然有qstring fromlocal8bit 或者tr 函式可以將中文包起來,但是每個有中文的地方都輸一遍還是有點麻煩,希望 一勞永逸 地解決。在4.x版本中,可以使用qtextcodec類,在main函式一開始的時候做類似下面的設定 qtextcodec setcodec...