【二十二】【QT开发应用】QScrollArea控件应用1,C++11 R原始字符串字面量
QScrollArea 是 Qt 框架中的一个控件,用于提供一个可滚动的视图。这个控件允许用户通过滚动条来浏览超出其显示区域的内容。QScrollArea 可以包含各种类型的子控件,例如图片、文本框、按钮等,并且可以方便地管理大尺寸或数量众多的子控件。
代码
#include "demo14_ScorllArea.h"
#include <QHBoxLayout>
demo14_ScorllArea::demo14_ScorllArea(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
setFixedSize(150 + 600 + 30, 600);
this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowMinMaxButtonsHint);
m_pListWidget = new QListWidget(this);
m_pListWidget->setFixedWidth(150);
m_pListWidget->setFrameShape(QFrame::NoFrame);
m_textList << "基本设置" << "云盘设置" << "下载设置" << "接管设置" << "任务管理" << "提醒" << "悬浮窗" << "高级设置";
m_pListWidget->addItems(m_textList);
m_pScrollArea = new QScrollArea(this);
m_pScrollArea->setFixedWidth(600 + 30);
QHBoxLayout* hlay = new QHBoxLayout(this);
hlay->addWidget(m_pListWidget);
hlay->addWidget(m_pScrollArea);
}
demo14_ScorllArea::~demo14_ScorllArea()
{}
这段代码是用Qt框架创建一个带有侧边栏和滚动区域的用户界面,且窗口没有边框,窗口大小是固定的。具体功能是一个左侧的QListWidget
用于显示多个文本项目,右侧是一个滚动区域(QScrollArea
)用于显示详细内容。
设置窗口固定大小
setFixedSize(150 + 600 + 30, 600);
- 设置窗口的固定大小为宽度780像素,高度600像素:
150
是左侧列表的宽度。600
是滚动区域的宽度。30
是可能用于内边距或滚动条的宽度。
设置无边框窗口和保留最小化最大化按钮
this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowMinMaxButtonsHint);
- 设置窗口的标志:
Qt::FramelessWindowHint
:使窗口没有系统默认的边框,即无边框窗口。Qt::WindowMinMaxButtonsHint
:保留窗口的最小化和最大化按钮,即使窗口是无边框的。
创建ListWidget和设置固定宽度和边框形状
m_pListWidget = new QListWidget(this);
m_pListWidget->setFixedWidth(150);
m_pListWidget->setFrameShape(QFrame::NoFrame);
- 创建一个
QListWidget
,并将其固定宽度设置为150像素。 m_pListWidget->setFrameShape(QFrame::NoFrame)
:将QListWidget
的边框形状设置为NoFrame
,即不显示边框。
一次性向ListWidget添加多个item项
m_textList << "基本设置" << "云盘设置" << "下载设置" << "接管设置" << "任务管理" << "提醒" << "悬浮窗" << "高级设置";
- 使用
m_textList
(这是一个QStringList
)添加8个字符串元素。这些文本项目是侧边栏列表的选项,比如“基本设置”、“云盘设置”等。
m_pListWidget->addItems(m_textList);
- 将
m_textList
中的项目添加到m_pListWidget
中,以文本列表的形式显示在左侧边栏。
创建QScrollArea对象和设置固定宽度
m_pScrollArea = new QScrollArea(this);
m_pScrollArea->setFixedWidth(600 + 30);
- 创建一个
QScrollArea
(滚动区域),用于显示滚动内容,宽度设置为630像素。600
是主要内容的宽度,30
用于滚动条的宽度。
创建水平排列对象并添加ListWidget和ScrollArea对象
QHBoxLayout* hlay = new QHBoxLayout(this);
hlay->addWidget(m_pListWidget);
hlay->addWidget(m_pScrollArea);
- 创建一个
QHBoxLayout
,用于水平排列子控件。hlay->addWidget(m_pListWidget)
:将左侧的QListWidget
添加到布局中。hlay->addWidget(m_pScrollArea)
:将右侧的QScrollArea
添加到布局中。
在头文件中创建ListWidget和ScrollArea对象
自定义m_pListWidget和m_pScrollArea指针表示对应得对象,在cpp文件中创建具体的实例对象。
程序展示
C++11中 R 原始字符串字面量的应用
格式: string = R"( )"
C++11引入了原始字符串字面量,使用R加上引号和括号的形式。原始字符串字面量允许在字符串中包含特殊字符(如换行符、引号、反斜杠等)而不需要使用转义字符(如\n、\t)。
适用于编写JSON。
结尾
最后,感谢您阅读我的文章,希望这些内容能够对您有所启发和帮助。如果您有任何问题或想要分享您的观点,请随时在评论区留言。
同时,不要忘记订阅我的博客以获取更多有趣的内容。在未来的文章中,我将继续探讨这个话题的不同方面,为您呈现更多深度和见解。
谢谢您的支持,期待与您在下一篇文章中再次相遇!