Control de resorte QT QVerticalSpacer

        Este artículo presenta varias operaciones del control QVerticalSpacer en detalle, como: nueva interfaz, diseño de control, controles ocultos , configuración de ancho y alto , adición de diseño , otros parámetros , archivos fuente .h, archivos fuente cpp , otros artículos y otras operaciones.

        En el desarrollo real, una interfaz puede contener más de una docena de controles, y ajustar manualmente sus posiciones requiere mucho tiempo y es laborioso. El administrador de diseño puede hacer dos cosas: ajustar automáticamente la posición de los controles, incluido el espacio entre los controles, la alineación, etc.; cuando el usuario cambia el tamaño de la ventana, los controles ubicados en el administrador de diseño también se redimensionarán en consecuencia, manteniendo así el toda la interfaz hermosa.

        Actualmente hay 26 artículos en esta serie de artículos completos y detallados de QT. Esta serie de artículos describe el funcionamiento básico y el uso de los controles de QT con más detalle. Gracias por su atención, Me gusta y colecciones.

El autor de este artículo es original, adjunte la fuente del artículo y el enlace de este artículo para su reimpresión.

Directorio de control de resorte QT QVerticalSpacer

1 Nueva interfaz

2 Diseño de controles

3 Ocultar controles

4 Establecer ancho y alto

5 Agregar diseño

6 Otros parámetros

archivo fuente 7.h

8 archivos fuente .cpp

9 otros artículos


1 Nueva interfaz

2 Diseño de controles

#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QPushButton>

QPushButton* pushButton;
QPushButton* pushButton_2;
QVBoxLayout* vBoxLayout_2;

    Title = "QT QVerticalSpacer  CSDN 双子座断点 ";
    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 Ocultar controles

ui->verticalSpacer->changeSize(0, 0);
//ui->horizontalLayout->update(); //更新弹簧控件所在的布局器

4 Establecer ancho y alto

ui->verticalSpacer->changeSize(20, 60);

5 Agregar diseño

    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 Otros parámetros

  • QSizePolicy::Fixed, mantenga esta política, luego la ventana (widget) solo acepta el tamaño predeterminado como la selección de tamaño, por lo que no se puede ampliar ni reducir.
  • QSizePolicy::Minimum, si mantiene esta Política, la ventana usará el tamaño mínimo como el tamaño predeterminado. Sobre esta base (basado en el tamaño mínimo), puede acercar, pero el acercar no tendrá prioridad por defecto, solo en otros diseños Cuando algunas partes no se ampliarán, se ampliarán "como último recurso" o "a regañadientes".
  • QSizePolicy::Maximum, mantenga esta Política, luego la ventana (widget) usará el tamaño máximo como el tamaño predeterminado, sobre esta base (basado en el tamaño máximo), se puede reducir para otros controles que necesitan espacio en el diseño. En resumen, la reducción se puede hacer sin estar "inactivo".
  • QSizePolicy::Preferido, mantenga esta Política, luego la ventana usará un "tamaño óptimo" como tamaño predeterminado (generalmente un tamaño entre el mínimo y el máximo), y puede ser "pasivo" para el diseño Otros controles en el el control puede reducirse para dar cabida a los controles que necesitan espacio y también puede ampliarse para ocupar el exceso de espacio.
  • QSizePolicy::Expandiendo, mantenga esta política, luego la ventana usará un "tamaño óptimo" como el tamaño predeterminado en el diseño, y luego "" "tanto como sea posible" y "activamente" ocupará el exceso de espacio.
  • QSizePolicy::MinimumExpanding, que contiene la política, es muy similar a la expansión anterior. La única diferencia es que aquí, el tamaño predeterminado es el tamaño mínimo. Por lo tanto, según el tamaño predeterminado (es decir, el tamaño mínimo), solo se puede ampliar Y es "activamente", "tanto como sea posible" ocupa el espacio adicional.
  • QSizePolicy::Ignored, mantiene la Política, ignora el tamaño predeterminado ( sizeHint( ) ), "activamente" ocupa el espacio adicional "tanto como sea posible".
     

archivo fuente 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 archivos fuente .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 双子座断点 ";
    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);

    //设置宽高
    //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 otros artículos

QT TextEdit Control_Gemini Breakpoint Blog-CSDN Blog_qt textedit

Explicación detallada del uso de QT QComboBox - Gemini Breakpoint Blog - CSDN Blog

Explicación detallada de la operación QT QtableView

Qt QStandardItemModel (1. Uso muy detallado)_ Gemini Breakpoint Blog-CSDN Blog_qstandardmodel

Qt QStandardItemModel (2. Función súper detallada)_Gemini breakpoint blog-CSDN blog_qstandarditemmodel click event

Uso detallado de QT QRadioButton - Gemini Breakpoint Blog - CSDN Blog - qt radiobutton

Uso detallado de QT QLineEdit_ Gemini Breakpoint Blog-CSDN Blog_qt qlineedit

Explicación detallada del uso de Qt QMessageBox - Gemini Breakpoint Blog - CSDN Blog - qt message

QChart Gráfico de líneas, gráfico circular, gráfico de barras, gráfico de curvas_ Gemini Breakpoint Blog-CSDN Blog_qchart Style

Explicación detallada de las propiedades de QChart_ Gemini Breakpoint Blog-CSDN Blog_setanimationoptions

Uso de QCharts QValueAxis_Gemini Breakpoint Blog-CSDN Blog_qvalueaxis

Cuadro de diálogo de espera de Qt 5 (gráfico dinámico de código abierto)_ Gemini Breakpoint Blog-CSDN Blog_qt cuadro de diálogo de espera

QtDataVisualization Visualización 3D de datos_Gemini Breakpoint Blog-CSDN Blog_qtdatavisualizatio

QT QSpinBox Control de contador de enteros Usar explicación detallada_Gemini Breakpoint Blog-CSDN BlogQT
QDoubleSpinBox Control de contador de punto flotante (uso detallado)_Gemini Breakpoint Blog-CSDN Blog_qdoublespinbox Ranura de señal
QT QSlider, QHorizontalSlider, QVerticalSlider Control Usar explicación detallada_Gemini Breakpoint blog-CSDN blog_qslider establecer tamaño de paso

Explicación detallada del uso del control QT QTabWidget - Gemini Breakpoint Blog - CSDN Blog

Explicación detallada del uso del control QT QCalendarWidget - Gemini Breakpoint Blog - CSDN Blog

Uso detallado del control QT QStackedWidget - Gemini Breakpoint Blog - CSDN Blog

Control de diseño vertical QT QVBoxLayout - Gemini Breakpoint Blog - CSDN Blog

QT QHBoxLayout Diseño horizontal Control_Gemini Breakpoint Blog-CSDN BlogQT
QGridLayout Diseño de cuadrícula Control_Gemini Breakpoint Blog-CSDN BlogQT
QFormLayout Diseño de formulario Control_Gemini Breakpoint Blog-CSDN Blog

Supongo que te gusta

Origin blog.csdn.net/qq_37529913/article/details/131022572
Recomendado
Clasificación