1. 程式人生 > >Qt---佈局,設定控制元件邊距,拉伸因子

Qt---佈局,設定控制元件邊距,拉伸因子

控制元件所佔空間

QGridLayout *LeftLayout =new QGridLayout(this);
LeftLayout->addWidget(label1, 0, 0);       //label1在第1行第1列
LeftLayout->addWidget(label2, 0, 1);       //label2在第1行第2列
LeftLayout->addWidget(btn1, 1, 0, 1, 2);   //btn1在第2行第1列,佔用的列數為1,佔用的行數為2
LeftLayout->setColumnStretch(0, 1);   //第1列佔表格佈局的1/4
LeftLayout->setColumnStretch(1, 3); //第2列佔表格佈局的3/4

這裡寫圖片描述

QHBoxLayout *RightLayout =new QHBoxLayout(this);
RightLayout->setMargin(10);  //控制元件與窗體左右邊距
RightLayout->setSpacing(10); //控制元件之間的邊距
RightLayout->addWidget(label3);
RightLayout->addWidget(label4);
RightLayout->setStretchFactor(label3, 1
); //label3佔水平佈局的1/4 RightLayout->setStretchFactor(label4, 3); //label4佔水平佈局的3/4

這裡寫圖片描述

如果將QHBoxLayout改為QVBoxLayout,結果如下:
這裡寫圖片描述

控制元件位置

QVBoxLayout *ButtomLayout = new QVBoxLayout(this);  
ButtomLayout->addStretch(1);    //在label5前面的空白佔總空白的1/6
ButtomLayout->addWidget(label5);    
ButtomLayout->addStretch(3
); //在label6前面的空白佔總空白的3/6 ButtomLayout->addWidget(label6); ButtomLayout->addStretch(2); //在label6後面的空白佔總空白的2/6

這裡寫圖片描述

如果將QVBoxLayout改為QHBoxLayout,結果如下:
這裡寫圖片描述

總體佈局

QGridLayout *mainLayout =new QGridLayout(this);
mainLayout->setMargin(15);
mainLayout->setSpacing(10);
mainLayout->addLayout(LeftLayout,0, 0);
mainLayout->addLayout(RightLayout,0, 1);
mainLayout->addLayout(ButtomLayout, 1, 0, 1, 2);

相關推薦

Qt---佈局設定控制元件因子

控制元件所佔空間 QGridLayout *LeftLayout =new QGridLayout(this); LeftLayout->addWidget(label1, 0, 0);

android 動態設定控制元件的高度使用對應佈局中的dp值

1. 獲取你要進行改變的控制元件的佈局 LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) myView.getLayoutParams(); 2.設定佈局的高度   後面的引數就是對應

Qt佈局管理(3):內容、間距和QSpacerItem類

Qt佈局管理(3):內容邊距(ContentsMargins)、間距(spacing)和QSpacerItem類 若對C++語法不熟悉可參閱《C++語法詳解》一書,電子工業出版社出版 內容邊距就是頁邊距,指的是佈局中的各子部件(內容)與周圍四個邊的距離,內容邊距比較簡單,下面列出需要使用

WPF 設定控制元件陰影后引發的Y軸位置變化問題

背景 最近遇到一個動畫執行時,文字位置變化的問題。如下圖: 如果你仔細看的話,當星星變小時,文字往下降了幾個畫素。 貌似有點莫名其妙,因為控制元件之間並不在同一個Panel佈局控制元件中,不存在高度限制變化引發此類問題。所以有了如下測試 測試場景 1. 首先新建了一個空專案,前面是一個帶陰影的文

jquery設定控制元件是否可用是否可見

開發過程中,使用jQuery設定控制元件,是否可見,是否可用。 $('.selector').attr("disabled", true);// 讓控制元件不可用 屬性  2,$('.selector').attr("disabled", true);// 讓控制元件可用 

Qt編寫自定義控制元件52-顏色下

一、前言 這個控制元件寫了很久了,元老級別的控制元件之一,開發之初主要是自己的好幾個專案要用到,比如提供一個顏色下拉框設定對應的曲

佈局控制元件新增陰影包裹它設定陰影顏色長度偏移即可

public class ShadowLayout extends FrameLayout { private int mShadowColor; private float mShadowRadius; private float mCornerRadius; p

Qt設定建立部分半透明上面控制元件不透明

//標頭檔案#pragma once #include <QWidget> #include "ui_widgetFullAD.h" class widgetFullAD : public QWidget { Q_OBJECT public: widgetFullAD(

java中設定JFrame或者JPanel的佈局為空的時候出現控制元件不能顯示問題的解決

最近在寫一個壓縮演算法,用到了java.swing。也遇到了控制元件不能顯示的問題,現總結如下:1. JFrame和JPanel都是容器,必須在在裡面新增子容器和控制元件之前設定佈局為null,不然控制元件是新增不進去的。2.如果是很小的矩形框,可能是JFrame未指定大小。

Qt獲取控制元件的大小以及主視窗大小為什麼一樣大小

MainWindow::MainWindow(QWidget *parent) : QWidget(parent) { QPushButton *button = new QPushButton(tr("abc")); HelloWorld *m

Qt呼叫Windows Webbrowser控制元件呼叫JS方法

說明: Qt版本為4.7.4    編譯工具為VS2008 一.需要包含的標頭檔案 #include"ExDisp.h" #include"comutil.h" #include"atlcomcli.h" #include "Mshtml.h" 庫檔名: comsup

C#列印預覽時更改預設設定預設的寬高

 new PrinterMargins(20,20,20,20,787,1129)   //此步最好在初始化,document 的時候就設定好邊距,否則後面邊距設定後,還有一些預設的X1,Y1非設定的值不會變化,會是預設的100,影響了列印時整個座標的結果。  

uiautomator中相同控制元件名該如何獲取想要的控制元件instance(0)區分佈局一樣的控制元件

大家在使用uiautomator測試開發中肯定遇到一樣佈局、連控制元件ID都一樣的情況,我們該如何去獲取?舉例:以下如圖的所有介面開關(圖片可能載入不出來,大家請自行想象下),所有控制元件顯示名稱都是一樣的,就index有區別,假如我們要開關NFC開關,我們肉眼可以去判斷,但

Android FrameLayout佈局中的控制元件設定居中動態設定

Android FrameLayout 佈局檔案靜態設定裡面的控制元件時是預設左上角疊加的。 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_w

設定TextBlock預設樣式後其他控制元件的Text相關屬性設定失效問題

原文: 設定TextBlock預設樣式後,其他控制元件的Text相關屬性設定失效問題 問題: 定義了預設TextBlock樣式後,再次自定義下拉框 or 其他控制元件 ,當內部含有TextBlock時,設定控制元件的字型相關樣式無效,系統始終使用TextBlock設定預設樣式 解決方案:

設定控制元件圓角只設置上面兩個角的圓角(任意角)

設定控制元件圓角,只設置上面兩個角的圓角,下面兩個角依然是直角,如圖效果: 程式碼(通過貝塞爾曲線重繪layer層): UIImageView *picImageView = [[UIImageView alloc] initWithFrame:CGRectMake(10

Android 開發JAVA動態設定控制元件大小

在我們的實際android開發中,我們經常需要對控制元件進行設定。在xml中設計大小,我們大家都很熟悉。那麼,使用java動態設定控制元件大小,該如何寫呢。以下是我寫的方法: /** * 設定控制元件大小 * @param view 控制元件

Qt 中實現在控制元件中點選滑鼠就在滑鼠點選處載入圖片的方法

首先應該知道,QLabel類是沒有點選事件的。我們需要點選滑鼠,那麼必須重寫一個QLabel類去繼承原來的QLabel。比如說我定義PutPicLabel來繼承QLabel。 在標頭檔案中應該這麼寫: #ifndef PUTPICLABEL_H #define PUTPI

在登入介面點選註冊註冊成功後把結果(使用者名稱密碼)回傳給登入介面用來設定控制元件

HTTP的狀態管理由於基於Http協議的請求是無狀態的,所以服務端無法把同一個客戶端傳送的多次請求當成一個整體來看待。但是我們有一些需求需要服務端把同一個客戶端傳送的多次請求當成一個整體。比如:登入-->購買如何實現Http的狀態管理?1>Cookie機制 (把涉及到的資料儲存在客戶端)2>

Android佈局檔案中控制元件的高度與寬度屬性設定

大家都知道,在Android佈局檔案中控制元件的高度與寬度設定時有三個屬性:fill_parent,match_parent,wrap_content。1. fill-parent:        設定一個構件的佈局為fill_parent將強制性地使構件擴充套件,以填充佈局單元內儘可能多的空間。這跟Wind