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

wordpress列表无图像安卓系统优化软件

wordpress列表无图像,安卓系统优化软件,杭州网站建设宣盟网络,普宁做男科检查长江网站L创建项目,添加资源文件 在项目文件夹中创建resources资源文件夹。 在vs中打开qrc文件,选择添加资源文件。 选择我们resources资源文件中的所有文件作为资源文件。 最后不要忘记点击保存。 向ListWidget控件添加item 右键菜单 在.h文件中添加QMenu头…

创建项目,添加资源文件

在这里插入图片描述
在项目文件夹中创建resources资源文件夹。
在这里插入图片描述
在vs中打开qrc文件,选择添加资源文件。
在这里插入图片描述
选择我们resources资源文件中的所有文件作为资源文件。
在这里插入图片描述
最后不要忘记点击保存。
在这里插入图片描述

向ListWidget控件添加item

在这里插入图片描述

右键菜单

在.h文件中添加QMenu头文件,右键菜单初始化函数,以及槽函数弹出右键菜单,和右键菜单对应的指针。

在这里插入图片描述
编写还初始化函数和槽函数。
在这里插入图片描述
调用初始化函数和连接信号和信号槽。
在这里插入图片描述
在这里插入图片描述

连接菜单中的信号和槽函数。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

复盘

向listwidget控件添加item项

    QListWidgetItem* pItem1 = new QListWidgetItem(QIcon(":/demo12_listwidget/resources/kits.png"), u8"Kits");QListWidgetItem* pItem2 = new QListWidgetItem(QIcon(":/demo12_listwidget/resources/env.png"), u8"环境");QListWidgetItem* pItem3 = new QListWidgetItem(QIcon(":/demo12_listwidget/resources/editor.png"), u8"编辑器");QListWidgetItem* pItem4 = new QListWidgetItem(QIcon(":/demo12_listwidget/resources/vim.png"), u8"Fakevim");QListWidgetItem* pItem5 = new QListWidgetItem(QIcon(":/demo12_listwidget/resources/help.png"), u8"帮助");ui.listWidget->addItem(pItem1);ui.listWidget->addItem(pItem2);ui.listWidget->addItem(pItem3);ui.listWidget->addItem(pItem4);ui.listWidget->addItem(pItem5);

这段代码使用了Qt框架中的QListWidgetItem类来向一个列表控件中添加带图标和文字的项目。具体解释如下:

  1. QListWidgetItem: 每一个QListWidgetItem对象代表一个列表项,可以包含图标和文本。
  2. QIcon: QIcon类用来加载和表示图标,图标的路径是从资源文件中加载的(":/demo12_listwidget/resources/..."是指向Qt资源系统中的路径)。
  3. u8"…": 这个前缀表示字符串是以UTF-8编码的。这种编码方式可以用于处理多语言文本(如中文的"环境"和"帮助")。
QListWidgetItem* pItem1 = new QListWidgetItem(QIcon(":/demo12_listwidget/resources/kits.png"), u8"Kits");
  • 创建了一个新的QListWidgetItem对象,带有一个图标(路径为resources/kits.png)和文本“Kits”。
QListWidgetItem* pItem2 = new QListWidgetItem(QIcon(":/demo12_listwidget/resources/env.png"), u8"环境");
  • 创建了另一个QListWidgetItem对象,图标来自resources/env.png,文本为“环境”(中文)。
QListWidgetItem* pItem3 = new QListWidgetItem(QIcon(":/demo12_listwidget/resources/editor.png"), u8"编辑器");
  • 再次创建一个QListWidgetItem对象,图标为resources/editor.png,文本是“编辑器”。
QListWidgetItem* pItem4 = new QListWidgetItem(QIcon(":/demo12_listwidget/resources/vim.png"), u8"Fakevim");
  • 创建了一个图标为resources/vim.png,文本为“Fakevim”的项目。
QListWidgetItem* pItem5 = new QListWidgetItem(QIcon(":/demo12_listwidget/resources/help.png"), u8"帮助");
  • 创建了一个带有resources/help.png图标和“帮助”文本的列表项。
ui.listWidget->addItem(pItem1);
ui.listWidget->addItem(pItem2);
ui.listWidget->addItem(pItem3);
ui.listWidget->addItem(pItem4);
ui.listWidget->addItem(pItem5);
  • 依次将上面创建的5个QListWidgetItem添加到一个名为listWidgetQListWidget控件中。这个控件在用户界面中用来显示这些带图标和文本的列表项。

初始化函数

void demo12_listwidget::initRightMenu() {m_pRightMenu = new QMenu(this);QAction* pAc1 = new QAction(u8"动作1", this);QAction* pAc2 = new QAction(u8"动作2", this);QAction* pAc3 = new QAction(u8"动作3", this);QAction* pAc4 = new QAction(u8"删除", this);m_pRightMenu->addAction(pAc1);m_pRightMenu->addAction(pAc2);m_pRightMenu->addAction(pAc3);m_pRightMenu->addAction(pAc4);connect(pAc1, &QAction::triggered, [=] {QMessageBox::information(this, "title", "ac1");});connect(pAc4, &QAction::triggered, [=] {QListWidgetItem* item = ui.listWidget->currentItem();ui.listWidget->removeItemWidget(item);delete item;});
}

这段代码的作用是在Qt应用程序中为一个列表控件创建并初始化右键菜单,同时为其中的几个动作(QAction)设置相应的处理逻辑。

void demo12_listwidget::initRightMenu() {m_pRightMenu = new QMenu(this);
  • 定义了一个名为initRightMenu的成员函数,用来初始化右键菜单。
  • m_pRightMenu是一个指向QMenu对象的指针,表示右键菜单,并通过new QMenu(this)创建了新的菜单对象,this表示当前窗口作为父对象,确保内存管理。
    QAction* pAc1 = new QAction(u8"动作1", this);QAction* pAc2 = new QAction(u8"动作2", this);QAction* pAc3 = new QAction(u8"动作3", this);QAction* pAc4 = new QAction(u8"删除", this);
  • 这里创建了四个QAction对象,分别对应右键菜单中的四个选项。u8"动作1"等表示菜单项的文本,其中前三项为通用动作,第四项"删除"是一个专门用于删除选项的动作。this表示这些QAction的父对象是当前窗口。
    m_pRightMenu->addAction(pAc1);m_pRightMenu->addAction(pAc2);m_pRightMenu->addAction(pAc3);m_pRightMenu->addAction(pAc4);
  • 使用addAction函数将四个QAction对象添加到右键菜单m_pRightMenu中。这会让这些动作在右键点击时出现在菜单中。

信号与槽连接:

    connect(pAc1, &QAction::triggered, [=] {QMessageBox::information(this, "title", "ac1");});
  • connect函数用于连接信号与槽。当pAc1triggered信号被触发(即当用户点击“动作1”时),会执行匿名lambda函数。在该函数内,QMessageBox::information弹出一个消息框,显示标题为"title",内容为"ac1"的信息。
    connect(pAc4, &QAction::triggered, [=] {QListWidgetItem* item = ui.listWidget->currentItem();ui.listWidget->removeItemWidget(item);delete item;});
  • 当用户点击“删除”(pAc4)菜单项时,会触发这个匿名函数。
  • ui.listWidget->currentItem():获取当前选中的列表项。
  • ui.listWidget->removeItemWidget(item):将该项目从列表控件中移除。
  • delete item:从内存中删除该项目,防止内存泄漏。

弹出右键菜单函数

void demo12_listwidget::on_PopupRightMenu(const QPoint& pos) {QListWidgetItem* pItem = ui.listWidget->itemAt(pos);if (!pItem) return;m_pRightMenu->exec(QCursor::pos());
}

这段代码的功能是当用户在QListWidget中右键单击时,弹出一个右键菜单。

void demo12_listwidget::on_PopupRightMenu(const QPoint& pos) {
  • 这是一个名为on_PopupRightMenu的成员函数,接收一个QPoint类型的参数pos,表示鼠标点击的相对位置。
  • 该函数是一个槽函数,用于响应右键单击的信号,从而在指定位置弹出右键菜单。
    QListWidgetItem* pItem = ui.listWidget->itemAt(pos);
  • ui.listWidget->itemAt(pos):使用这个函数从listWidget中获取用户单击位置的QListWidgetItem对象。
  • pos是鼠标单击的位置,itemAt根据这个位置返回对应的列表项。如果用户点击的地方没有列表项,那么pItem将会是nullptr
    if (!pItem) return;
  • 这里进行空指针检查。如果在用户点击的位置没有任何列表项(即pItem == nullptr),则函数直接返回,不进行后续的菜单弹出操作。
    m_pRightMenu->exec(QCursor::pos());
  • 如果用户点击的位置有对应的列表项,则执行这行代码来弹出右键菜单。
  • m_pRightMenu->exec()用于显示菜单,QCursor::pos()返回当前鼠标的全局屏幕坐标,确保菜单在鼠标所在的位置弹出。

设置菜单策略,连接弹出菜单的信号和槽函数

    ui.listWidget->setContextMenuPolicy(Qt::CustomContextMenu);connect(ui.listWidget, &QListWidget::customContextMenuRequested, this, &demo12_listwidget::on_PopupRightMenu);

这段代码的作用是为QListWidget控件设置自定义的右键菜单触发机制,并连接相应的槽函数,以便在用户右键单击时弹出菜单。

ui.listWidget->setContextMenuPolicy(Qt::CustomContextMenu);
  • 这行代码为listWidget设置了上下文菜单策略。
  • Qt::CustomContextMenu:表示使用自定义的上下文菜单。这意味着当用户右键点击时,不会显示默认的上下文菜单,而是触发一个信号,开发者可以捕获这个信号并定义自定义的菜单行为。
connect(ui.listWidget, &QListWidget::customContextMenuRequested, this, &demo12_listwidget::on_PopupRightMenu);
  • connect函数将listWidgetcustomContextMenuRequested信号与demo12_listwidget::on_PopupRightMenu槽函数连接起来。
    • customContextMenuRequested信号:这是当用户右键单击时,QListWidget发出的信号,传递右键单击的相对位置QPoint
    • 槽函数on_PopupRightMenu:这是一个自定义的函数,用于在指定位置弹出右键菜单(该函数在之前的代码中已定义)。
    • 这样,当用户在listWidget中右键点击时,on_PopupRightMenu函数会被触发,菜单会弹出。

结尾

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

http://www.khdw.cn/news/14993.html

相关文章:

  • 网站打赏怎么做的学电脑办公软件培训班
  • 建设常规的网站报价是多少钱外贸网站推广费用
  • 高品质外贸网站建设宣传推广计划怎么写
  • 营销型网站策划怎么做游戏优化软件
  • 网站建设客源开发互联网营销师考试
  • 网站建设web前端开发入门百度指数人群画像
  • 个性化定制服务的网站有哪些营销网络是啥意思
  • 网站建设排行榜关键词的优化和推广
  • 响应式网站的服务永久免费开网店app
  • 什么网站可以做ui小动画北京网站制作推广
  • 网站建设到备案网建
  • 西安百度seo推广电话seo关键词排名优化技巧
  • 宁夏水利厅建设管理处网站百度指数专业版app
  • 绍兴网站推广优化国内高清视频素材网站推荐
  • python 网站开发设计培训学院
  • 温州网站建设有限公司杭州网站优化效果
  • 经营性网站备案需要什么软文发布系统
  • 网站登录后台地址指数基金
  • 织梦dedecms网站内容页如何做好宣传推广
  • 真正免费的网站建站平台b站百度开户多少钱
  • 营销策划课程百度网盘优化
  • php做视频网站有哪些软件百度推广助手app
  • 网站开发都学什么seo关键词排名工具
  • 泰安钢管网站建设图片外链上传网站
  • wordpress安装主题后无法查看媒体潮州seo建站
  • 做网站常用的css女生seo专员很难吗为什么
  • 海尔网站建设情况百度爱采购平台官网
  • 网站英文版是怎么做的直销怎么做才最快成功
  • 网页设计图片怎么变小云南网站seo服务
  • 学院网站建设的意义seo网站关键词排名快速