Qt保持Widget比例

2021-07-29 05:02:38 字數 916 閱讀 2889

進行ui設計時,若碰到需要保持縮放過程中widget水平與豎直方向的比例的情況時,本文提供了乙個基本的解決方法,將需要保持比例的widget作為乙個容器widget中的乙個子部件,通過重寫容器widget的resizeevent事件實現比例的保持!

#include #include #include class widgetkeepsubwidgetradioclass:public qwidget

;

#include "widgetkeepsubwidgetradioclass.h"

#include widgetkeepsubwidgetradioclass::widgetkeepsubwidgetradioclass()

widgetkeepsubwidgetradioclass::~widgetkeepsubwidgetradioclass()

void widgetkeepsubwidgetradioclass::resizeevent(qresizeevent* e)

else

psubwidget->move(imageorigpixel.width(), imageorigpixel.height());

psubwidget->resize(imagenewsize.width(), imagenewsize.height());

}void widgetkeepsubwidgetradioclass::disablekeepradio(void)

void widgetkeepsubwidgetradioclass::enablekeepradio(float radio)

void widgetkeepsubwidgetradioclass::setsubwidget(qwidget* pwidget)

qt 中控制項保持比例縮放

最終效果 實現思路是這樣的 封裝乙個類,整合自qframe 繼承自qframe而不是qwidget是因為qframe過載了paintevent,方便進行樣式美化 在這個類中宣告乙個qwidget的成員變數,重寫派生類的這個方法 virtual void resizeevent qresizeeven...

Qt學習筆記 Widget布局管理

以 c gui programming with qt 4,second edition 為參考 例項 查詢對話方塊 包含三個檔案,finddialog.h,finddialog.cpp及main.cpp。ifndef finddialog h define finddialog h include...

Qt設定全域性的widget的stylesheet

qt設定全域性的widget的stylesheet 最近widget都是有焦點和無焦點兩種情況,這時我們只需要它在有焦點時改變樣式,無焦點時不變。如1 a.setstylesheet qpushbutton focus 就可以設定按鈕被聚焦時,外邊畫出乙個紅框。如1 a.setstylesheet ...