欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > 【二十二】【QT开发应用】QScrollArea控件应用1,C++11 R原始字符串字面量

【二十二】【QT开发应用】QScrollArea控件应用1,C++11 R原始字符串字面量

2024/10/25 15:19:50 来源:https://blog.csdn.net/m0_74163972/article/details/142331105  浏览:    关键词:【二十二】【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。

结尾

最后,感谢您阅读我的文章,希望这些内容能够对您有所启发和帮助。如果您有任何问题或想要分享您的观点,请随时在评论区留言。
同时,不要忘记订阅我的博客以获取更多有趣的内容。在未来的文章中,我将继续探讨这个话题的不同方面,为您呈现更多深度和见解。
谢谢您的支持,期待与您在下一篇文章中再次相遇!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com