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
#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