最終效果
實現思路是這樣的:
封裝乙個類,整合自qframe(繼承自qframe而不是qwidget是因為qframe過載了paintevent,方便進行樣式美化),在這個類中宣告乙個qwidget的成員變數,重寫派生類的這個方法:
virtual
void
resizeevent
(qresizeevent *event)
;
在這個方法中,自己針對視窗尺寸改變,自行計算子widget的尺寸及位置。
再新增乙個get方法,獲取成員變數的指標(或者直接把成員變數宣告為公有)。
使用時,將派生類放到布局中,在將要顯示的內容放到widget裡即可。
**:
#ifndef keepratiowidget_h
#define keepratiowidget_h
#include
class
keepratiowidget
:public qframe
;#endif
1 #include
2 #include "keepratiowidget.h"
34 keepratiowidget::
keepratiowidget
(qwidget *parent):5
qframe
(parent)6,
width_ratio_(0
)7,height_ratio_(0
)81213
void keepratiowidget::
setratio
(int width,
int height)
1418
19 qwidget *keepratiowidget::
widget()
2023
24void keepratiowidget::
resizeevent
(qresizeevent *event)
2535
else
4142 center_widget_-
>
resize
(new_size);43
}
Qt保持Widget比例
進行ui設計時,若碰到需要保持縮放過程中widget水平與豎直方向的比例的情況時,本文提供了乙個基本的解決方法,將需要保持比例的widget作為乙個容器widget中的乙個子部件,通過重寫容器widget的resizeevent事件實現比例的保持!include include include cl...
Qt中窗體控制項按照比例縮放,自適應視窗大小進行布局
最近在做本科畢設,用到了qt,無奈本人實在是太過於小白了,很多東西都進行了很久的探索,比如今天說到的窗體控制項布局.一把辛酸淚 首先就是建立乙個gui檔案,然後進行ui設計,這裡就只需要從左邊進行拖拽,這個很easy啦.然後對其進行布局,比如右邊,右下兩個pushbutton我們可以對其進行水平布局...
c 介面控制項介面等比例縮放
本篇部落格只針對本人在嘗試做乙個介面放大問題中所遇到的一些問題 目的 實現視窗放大,視窗內的控制項也等比放大 成功 1.anchor屬性改變取得的效果不理想 2.控制項放大比例不一樣 3.在放大的過程 現介面亂 看起來軟體有點像盜版 下面以下圖為例講解 當我們設計好視窗後是這樣的 當我們拉大時 網上...