????????本文詳細(xì)的介紹了QVerticalSpacer控件的各種操作,例如:新建界面、控件布局、隱藏控件、設(shè)置寬高、添加布局、其它參數(shù)、.h源文件、cpp源文件、其它文章等等操作。
??????? 實(shí)際開發(fā)中,一個(gè)界面上可能包含十幾個(gè)控件,手動調(diào)整它們的位置既費(fèi)時(shí)又費(fèi)力。布局管理器可以完成兩件事:自動調(diào)整控件的位置,包括控件之間的間距、對齊等;當(dāng)用戶調(diào)整窗口大小時(shí),位于布局管理器內(nèi)的控件也會隨之調(diào)整大小,從而保持整個(gè)界面的美觀。
??????? 本系列QT全面詳解文章目前共有二十六篇,本系列文章較為詳細(xì)的講述了QT控件的基礎(chǔ)操作和使用,也謝謝大家的關(guān)注、點(diǎn)贊、收藏。
本文作者原創(chuàng),轉(zhuǎn)載請附上文章出處與本文鏈接。
QT QVerticalSpacer 彈簧控件目錄
1 新建界面
2 控件布局
3 隱藏控件
4 設(shè)置寬高
5 添加布局
6 其它參數(shù)
7 .h源文件
8 .cpp源文件
9 其它文章
1 新建界面
2 控件布局
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QPushButton>
QPushButton* pushButton;
QPushButton* pushButton_2;
QVBoxLayout* vBoxLayout_2;
Title = "QT QVerticalSpacer CSDN 雙子座斷點(diǎn) ";
Version = "V 1.0 ";
BlogText = "https://blog.csdn.net/qq_37529913?type=lately/";
setWindowTitle(Title + Version + BlogText);
vBoxLayout_2 = new QVBoxLayout;
pushButton = new QPushButton("QPushButton");
pushButton_2 = new QPushButton("QPushButton");
3 隱藏控件
ui->verticalSpacer->changeSize(0, 0);
//ui->horizontalLayout->update(); //更新彈簧控件所在的布局器
4 設(shè)置寬高
ui->verticalSpacer->changeSize(20, 60);
5 添加布局
vBoxLayout_2->addSpacerItem(new QSpacerItem(20, 20));
vBoxLayout_2->addWidget(pushButton);
vBoxLayout_2->addWidget(pushButton_2);
vBoxLayout_2->addSpacerItem(new QSpacerItem(20, 20));
ui->horizontalLayout->addLayout(vBoxLayout_2);
6 其它參數(shù)
- QSizePolicy::Fixed,持有該P(yáng)olicy,那么窗口(widget)只接受缺省大小作為尺寸選擇,因此無法進(jìn)行放大或者縮小。
- QSizePolicy::Minimum,持有該P(yáng)olicy,那么窗口將會以最小尺寸作為缺省大小,在此基礎(chǔ)上(最小尺寸的基礎(chǔ)上),可以放大,但是默認(rèn)不會優(yōu)先進(jìn)行放大,只有在布局的其他部分不會放大的情況下,才會“不得已”、“不情愿”地進(jìn)行放大。
- QSizePolicy::Maximum,持有該P(yáng)olicy,那么窗口(widget)將會將最大尺寸作為缺省大小,在此基礎(chǔ)上(最大尺寸的基礎(chǔ)上),可以為布局中其他需要空間的控件進(jìn)行縮小。簡而言之,可以不“不主動”的進(jìn)行縮小。
- QSizePolicy::Preferred,持有該P(yáng)olicy,那么窗口會以一種“所謂的最佳尺寸”作為缺省大小(一般就是介于minimun和maximum之間某個(gè)尺寸大小),可以“被動式的”為布局中其他控件縮小以騰出空間給需要空間的控件,也可以放大,以占據(jù)多余的空間。
- QSizePolicy::Expanding,持有該P(yáng)olicy,那么窗口會在布局中,以一種“所謂的最佳尺寸”作為缺省大小,然后會""“盡可能多地”、“主動地”占據(jù)占據(jù)多余的空間。
- QSizePolicy::MinimumExpanding,持有該P(yáng)olicy,與上面的Expanding很像,唯一區(qū)別就是,在這里,缺省大小是最小尺寸,因此,以缺省大小(也就是最小尺寸)為標(biāo)準(zhǔn),只能放大,而且是“主動地”,“盡可能多的”占據(jù)多余的空間。
- QSizePolicy::Ignored,持有該P(yáng)olicy,忽視缺省尺寸( sizeHint( ) ),“主動地”,“盡可能多地”占據(jù)多余的空間。
?
7 .h源文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QPushButton>
#pragma execution_character_set("utf-8")
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
QString Title;
QString Version;
QString BlogText;
QPushButton* pushButton;
QPushButton* pushButton_2;
QVBoxLayout* vBoxLayout_2;
};
#endif // MAINWINDOW_H
8 .cpp源文件
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
Title = "QT QVerticalSpacer CSDN 雙子座斷點(diǎn) ";
Version = "V 1.0 ";
BlogText = "https://blog.csdn.net/qq_37529913?type=lately/";
setWindowTitle(Title + Version + BlogText);
vBoxLayout_2 = new QVBoxLayout;
pushButton = new QPushButton("QPushButton");
pushButton_2 = new QPushButton("QPushButton");
//隱藏控件
ui->verticalSpacer->changeSize(0, 0);
//設(shè)置寬高
//ui->verticalSpacer->changeSize(20, 60);
vBoxLayout_2->addSpacerItem(new QSpacerItem(20, 20));
vBoxLayout_2->addWidget(pushButton);
vBoxLayout_2->addWidget(pushButton_2);
vBoxLayout_2->addSpacerItem(new QSpacerItem(20, 20));
ui->horizontalLayout->addLayout(vBoxLayout_2);
}
MainWindow::~MainWindow()
{
delete ui;
}
9 其它文章
QT TextEdit控件_雙子座斷點(diǎn)的博客-CSDN博客_qt textedit
QT QComboBox使用詳解_雙子座斷點(diǎn)的博客-CSDN博客
QT QtableView操作詳解_雙子座斷點(diǎn)的博客-CSDN博客_qtableview增刪改查
Qt QStandardItemModel(1.超級詳細(xì)用法)_雙子座斷點(diǎn)的博客-CSDN博客_qstandardmodel
Qt QStandardItemModel(2.超級詳細(xì)函數(shù))_雙子座斷點(diǎn)的博客-CSDN博客_qstandarditemmodel點(diǎn)擊事件
QT QRadioButton使用詳解_雙子座斷點(diǎn)的博客-CSDN博客_qt radiobutton
QT QLineEdit使用詳解_雙子座斷點(diǎn)的博客-CSDN博客_qt qlineedit
Qt QMessageBox使用詳解_雙子座斷點(diǎn)的博客-CSDN博客_qt message
QChart折線圖、餅狀圖、條形圖、曲線圖_雙子座斷點(diǎn)的博客-CSDN博客_qchart樣式
QChart屬性詳解_雙子座斷點(diǎn)的博客-CSDN博客_setanimationoptions
QCharts QValueAxis使用_雙子座斷點(diǎn)的博客-CSDN博客_qvalueaxis
Qt 5 等待提示框(開源 動態(tài)圖)_雙子座斷點(diǎn)的博客-CSDN博客_qt 等待對話框
QtDataVisualization 數(shù)據(jù)3D可視化_雙子座斷點(diǎn)的博客-CSDN博客_qtdatavisualizatio
QT QSpinBox 整數(shù)計(jì)數(shù)器控件 使用詳解_雙子座斷點(diǎn)的博客-CSDN博客
QT QDoubleSpinBox 浮點(diǎn)計(jì)數(shù)器控件(使用詳解)_雙子座斷點(diǎn)的博客-CSDN博客_qdoublespinbox信號槽
QT QSlider、QHorizontalSlider、QVerticalSlider 控件 使用詳解_雙子座斷點(diǎn)的博客-CSDN博客_qslider設(shè)置步長
QT QTabWidget 控件 使用詳解_雙子座斷點(diǎn)的博客-CSDN博客
QT QCalendarWidget控件 使用詳解_雙子座斷點(diǎn)的博客-CSDN博客
QT QStackedWidget 控件 使用詳解_雙子座斷點(diǎn)的博客-CSDN博客
QT QVBoxLayout 垂直布局控件_雙子座斷點(diǎn)的博客-CSDN博客文章來源:http://www.zghlxwxcb.cn/news/detail-472746.html
QT QHBoxLayout 水平布局控件_雙子座斷點(diǎn)的博客-CSDN博客
QT QGridLayout網(wǎng)格布局控件_雙子座斷點(diǎn)的博客-CSDN博客
QT QFormLayout表單布局控件_雙子座斷點(diǎn)的博客-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-472746.html
到了這里,關(guān)于QT QVerticalSpacer 彈簧控件的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!