要在Qt 5.12版本中通过代码实现在mainwindow.cpp和mainwindow.h中创建一个5x3的表格,并设置滚动条的样式为圆头且颜色为蓝色
// mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTableWidget>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
QTableWidget *tableWidget;
};
#endif // MAINWINDOW_H
// mainwindow.cpp
#include "mainwindow.h"
#include <QScrollBar>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
// 创建表格
tableWidget = new QTableWidget(5, 3, this);
setCentralWidget(tableWidget);
// 设置滚动条样式
QScrollBar *verticalScrollBar = tableWidget->verticalScrollBar();
verticalScrollBar->setStyleSheet("QScrollBar:vertical {"
" background: blue;"
" width: 15px;"
" margin: 22px 0 22px 0;"
"}"
"QScrollBar::handle:vertical {"
" background: white;"
" min-height: 20px;"
" border-radius: 7px;"
"}"
"QScrollBar::add-line:vertical {"
" border: none;"
" background: none;"
"}"
"QScrollBar::sub-line:vertical {"
" border: none;"
" background: none;"
"}"
"QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical {"
" border: none;"
" width: 0;"
" height: 0;"
" background: none;"
"}"
"QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {"
" background: none;"
"}");
}
MainWindow::~MainWindow()
{
delete tableWidget;
}
用于自定义 Qt 中的滚动条(QScrollBar)样式的。解释一下每一部分的作用:
1:QScrollBar:vertical { ... }: 这是一个选择器,用于指定垂直滚动条的样式。vertical 表示垂直方向的滚动条。在这个部分中,设置了滚动条的背景颜色为蓝色,宽度为15像素,以及上下边距为22像素。
2:QScrollBar::handle:vertical { ... }: 这部分是指定垂直滚动条的滑块(handle)的样式。设置了滑块的背景颜色为白色,最小高度为20像素,以及边框半径为7像素,使得滑块呈现圆角效果。
3:QScrollBar::add-line:vertical 和 QScrollBar::sub-line:vertical: 这两部分分别指定了垂直滚动条的增加(向下滚动)和减少(向上滚动)按钮的样式。这里设置了按钮的边框和背景都为无,即不显示按钮。
4:QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical: 这部分用于指定垂直滚动条的上箭头和下箭头的样式。同样地,这里设置了箭头的边框和背景都为无,使得箭头不可见。
5:QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical: 最后这部分用于指定垂直滚动条的增加和减少页面按钮的样式,通常用于滚动条区域的空白部分。这里将其背景设置为无,即不显示。