Detailed explanation of the use of QT QScrollArea control

        This article introduces various operations of the QScrollArea control in detail, such as: new interface , source file , layout , progress bar width , progress bar height , horizontal scroll bar value , vertical scroll bar value , move-in event , move-out event, rendering, etc. Articles and other operations.

        In actual development, an interface may contain more than a dozen controls, and manually adjusting their positions is time-consuming and laborious. QScrollArea is a widget in the Qt framework, used for scrolling areas to display the content of sub-widgets within the frame. If the widget exceeds the size of the frame, the view can provide scroll bars so that the entire area of ​​the child widget can be viewed. Child widgets must be specified with setWidget().

        There are currently 32 articles in this series of QT comprehensive and detailed articles. This series of articles describes the basic operation and use of QT controls in more detail. Thank you for your attention, likes, and collections.

 This article is original by the author. Please attach the source of the article and the link to this article when reprinting.

QT QScrollArea control usage detailed directory

1 Create a new interface

2 source files

3 layout

4 progress bar width

5 progress bar high

6 horizontal scroll bar value

7 vertical scroll bar value

8 move in event

9 Remove event

10 renderings

11 other articles


1 Create a new interface


2 source files

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QDebug>
#include <QScrollArea>
#include <QScrollBar>

#include "MouseEnterEventFilter.h"

//加入UTF-8申明,否则中文乱码 全局使用GBK文件操作因为有中文所以使用
#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 slots:
    void on_scrollArea_customContextMenuRequested(const QPoint &pos);
    void on_scrollArea_MouseEntered();
    void on_scrollArea_SlotMouseLeft();
    void on_scrollArea_horizontalValueChanged(int value);
    void on_scrollArea_verticalValueChanged(int value);
private:
    Ui::MainWindow *ui;

    QString Title;
    QString Version;
    QString BlogText;

    MouseEnterEventFilter *filter;
    int horizontalScrollBarWidth;
    int verticalScrollBarHeight;
};
#endif // MAINWINDOW_H

3 layout

        Load an image, scrollAreaWidgetContents select grid layout

    ui->label->setMinimumWidth(2560);
    ui->label->setMinimumHeight(1600);
    ui->label->setPixmap(QPixmap("D:/zero.jpg"));

4 progress bar width

horizontalScrollBarWidth = ui->scrollArea->horizontalScrollBar()->width();
qDebug() << "Horizontal scroll bar width: " << horizontalScrollBarWidth;

5 progress bar high

verticalScrollBarHeight = ui->scrollArea->verticalScrollBar()->height();
qDebug() << "Vertical scroll bar height: " << verticalScrollBarHeight;

6 horizontal scroll bar value

connect(ui->scrollArea->horizontalScrollBar(), &QScrollBar::valueChanged, this, &MainWindow::on_scrollArea_horizontalValueChanged);
void MainWindow::on_scrollArea_horizontalValueChanged(int value)
{
    qDebug() << "水平滚动条的值: " << value;
}

7 vertical scroll bar value

connect(ui->scrollArea->verticalScrollBar(), &QScrollBar::valueChanged, this, &MainWindow::on_scrollArea_verticalValueChanged);
void MainWindow::on_scrollArea_verticalValueChanged(int value)
{
    qDebug() << "垂直滚动条的值: " << value;
}

8 move in event

connect(filter, &MouseEnterEventFilter::mouseEntered, this, &MainWindow::on_scrollArea_MouseEntered);
void MainWindow::on_scrollArea_MouseEntered()
{
    qDebug() << "鼠标移入";
}

9 Remove event

connect(filter, &MouseEnterEventFilter::mouseLeft, this, &MainWindow::on_scrollArea_SlotMouseLeft);
void MainWindow::on_scrollArea_SlotMouseLeft()
{
    qDebug() << "鼠标移出";
}

10 renderings

11 other articles

QT TextEdit control_Gemini Breakpoint's Blog-CSDN Blog_qt textedit

Detailed explanation of the use of QT QComboBox_Gemini Breakpoint's Blog-CSDN Blog

Detailed explanation of QT QtableView operation_Gemini Breakpoint's Blog-CSDN Blog_qtableview addition, deletion, modification and query

Qt QStandardItemModel (1. Super detailed usage)_Gemini Breakpoint's Blog-CSDN Blog_qstandardmodel

Qt QStandardItemModel (2. Super detailed function)_Gemini breakpoint blog-CSDN blog_qstandarditemmodel click event

Detailed use of QT QRadioButton - Gemini Breakpoint Blog - CSDN Blog - qt radiobutton

Detailed use of QT QLineEdit_ Gemini Breakpoint Blog-CSDN Blog_qt qlineedit

Detailed explanation of Qt QMessageBox use - Gemini Breakpoint Blog - CSDN Blog - qt message

QChart Line Chart, Pie Chart, Bar Chart, Curve Chart_ Gemini Breakpoint Blog-CSDN Blog_qchart Style

Detailed explanation of QChart properties_ Gemini Breakpoint Blog-CSDN Blog_setanimationoptions

Use of QCharts QValueAxis_Gemini Breakpoint Blog-CSDN Blog_qvalueaxis

Qt 5 wait prompt box (open source dynamic graph)_ Gemini Breakpoint Blog-CSDN Blog_qt wait dialog box

QtDataVisualization Data 3D Visualization_Gemini Breakpoint Blog-CSDN Blog_qtdatavisualizatio

QT QSpinBox Integer Counter Control Detailed Explanation_Gemini Breakpoint's Blog-CSDN Blog
QT QDoubleSpinBox Floating Point Counter Control (Usage Detailed)_Gemini Breakpoint's Blog-CSDN Blog_qdoublespinbox Signal Slot
QT QSlider, QHorizontalSlider, QVerticalSlider Control Detailed Explanation_Gemini Breakpoint blog-CSDN blog_qslider setting step size

Detailed explanation of the use of QT QTabWidget control - Gemini Breakpoint Blog - CSDN Blog

Detailed explanation of the use of QT QCalendarWidget control - Gemini Breakpoint Blog - CSDN Blog

Detailed explanation of the use of QT QStackedWidget control_Gemini Breakpoint's Blog-CSDN Blog

QT QVBoxLayout vertical layout control - Gemini Breakpoint Blog - CSDN Blog

QT QHBoxLayout Horizontal Layout Control_Gemini Breakpoint Blog-CSDN BlogQT
QGridLayout Grid Layout Control_Gemini Breakpoint Blog-CSDN Blog

QT QVerticalSpacer Spring Control_Gemini Breakpoint Blog-CSDN BlogQT
QHorizontalSpacer Spring Control_Gemini Breakpoint Blog-CSDN Blog
QT QLine Use Detailed Explanation_Gemini Breakpoint Blog-CSDN Blog
QT QFontComboBox Use Detailed Explanation_Gemini Breakpoint Blog- CSDN blog

Guess you like

Origin blog.csdn.net/qq_37529913/article/details/132680528