当前位置: 首页 > article >正文

【二十二】【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。

结尾

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


http://www.kler.cn/news/314717.html

相关文章:

  • Oracle(139)如何创建和管理数据库用户?
  • 1.3 计算机网络的分类
  • Hadoop的一些高频面试题 --- hdfs、mapreduce以及yarn的面试题
  • tensorflow同步机制
  • EasyExcel根据模板生成excel文件【xls、xlsx】
  • 【乐企-业务篇】开票前置校验服务-规则链服务接口实现(发票基础信息校验)
  • 2.场景应用:接口关联,文件上传(Postman工具)
  • Shell篇之编写php启动脚本
  • [python]从零开始的PySide安装配置教程
  • JavaEE: 深入探索TCP网络编程的奇妙世界(三)
  • Python实现图形学曲线和曲面的Bezier曲线算法
  • 深度学习-生成式检索-论文速读-2024-09-14
  • 关于自动化测试的一点了解
  • 高效财税自动化软件的特点与优势
  • ChatGPT 为何将前端框架从 Next.js 更换为 Remix以及框架的选择
  • Java中List、ArrayList与顺序表
  • hackmyvm靶场--zon
  • Spring:项目中的统一异常处理和自定义异常
  • 通过Java设计模式提高业务流程灵活性的策略
  • 笔记:DrawingContext和GDI+对比简介
  • 【Python】探索 TensorFlow:构建强大的机器学习模型
  • PostgreSQL技术内幕11:PostgreSQL事务原理解析-MVCC
  • 区块链DAPP质押系统开发
  • python中迭代器和可迭代对象
  • 【系统架构设计师】特定领域软件架构(经典习题)
  • 边缘智能-大模型架构初探
  • WebGL基础知识快速入门
  • 安装nuxt3
  • 「iOS」viewController的生命周期
  • Android TV RecyclerView列表获得焦点左右换行