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

小伙做网站建造师官网

小伙做网站,建造师官网,关键词推广哪家好,wordpress手机版网页引言 项目中需要使用列表QListWidget,但是不能直接拿来使用。需要创建一个列表,通过向上和向下的按钮来向上或者向下移动选中列表项,当当前项背选中再去点击确认按钮,会在列表项的前面出现一个图标。 实现效果 本实例实现的效果如下: 实现思路 思路一 直接采用QLis…

引言

项目中需要使用列表QListWidget,但是不能直接拿来使用。需要创建一个列表,通过向上和向下的按钮来向上或者向下移动选中列表项,当当前项背选中再去点击确认按钮,会在列表项的前面出现一个图标。

实现效果

本实例实现的效果如下:
在这里插入图片描述

实现思路

思路一

直接采用QListWidget控件来实现,但是会有一个问题,每项前面的图标开始时隐藏,当选中当前项,然后点击确认按钮的时候,会出现左侧的图标挤动右侧的文本,导致整列的文本中,左侧出现图标的项的文本,与没有出现的图标的项的文本不对齐。

效果如下:

在这里插入图片描述

核心代码

该思路实现的核心代码如下:

void MainWindow::initListWidget()//初始化列表
{QStringList itemsText = {"一年级","二年级","三年级","四年级","五年级"};for(const QString& str:itemsText){ QListWidgetItem *item = new QListWidgetItem(QIcon(""),str,ui->listWidget);//初始列表项,虽设置了图标,但是没有添加实际意义上的图标图片,只有一个空图标,不占任何的位置}ui->listWidget->setCurrentRow(0);//设置默认选中第一行
}void MainWindow::on_pushButton_clicked()//向上
{int nRow = ui->listWidget->currentRow();if(nRow > 0){//行下标从0开始计算ui->listWidget->setCurrentRow(nRow -1);}
}void MainWindow::on_pushButton_2_clicked()//向下
{int nCount = ui->listWidget->count();int nRow = ui->listWidget->currentRow();if(nRow < nCount -1){//行下标从0开始计算ui->listWidget->setCurrentRow(nRow +1);//要想循环向下,将判断条件改为nRow < nCount}
}void MainWindow::on_pushButton_3_clicked()//确认
{QListWidgetItem *pItem = ui->listWidget->currentItem();QIcon icon(":/new/prefix1/images/https___icon-park.com_imagefiles_location_map_pin_red10 (1).svg");pItem->setIcon(icon);
}

由于之前的图标是一个‘空图标’,不占任何位置,所以当点击确认设置图标的图像时会出现挤压后面的文本。

附加思路

可以在思路一的基础上将

 QListWidgetItem *item = new QListWidgetItem(QIcon(""),str,ui->listWidget);

中的‘空图标’变为一个透明图标,先占位置,后面点击确认按钮的时候在加载要显示的图标,就可以避免加载图标之后的挤压文本导致的文本偏移。

思路二

采用QWidget实现每一项来模拟列表的上下移动选中,和确认后左侧出现图标。

实现效果

在这里插入图片描述

核心代码

该思路实现没有问题,但是较复杂一点。
下面是ui设计器中的控件使用:
在这里插入图片描述
红色框圈出来的部分是对应的实现效果中的控件使用。
其中使用ui设计器的时候,在属性栏设置了下面这几个窗口的高度。
在这里插入图片描述
另外最外层的窗口BackGroundWidget也被设置了大小。
在这里插入图片描述
布局的属性页做了修改。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
差不多就这些。

下面是代码:
MainWindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QMap>
#include <QLabel>class QListWidgetItem;
QT_BEGIN_NAMESPACE
namespace
http://www.yayakq.cn/news/475636/

相关文章:

  • 网站建设代码问卷调查库尔勒西部建设网站
  • phpcms v9 实现网站搜索做网站什么配置够用
  • 网站开发代理招商wordpress 阌栾
  • 成都企业建站公司在线咨询能下短视频网站做牙
  • 学生模拟网站开发项目网络广告创意策划
  • 自己搭建网站怎么搭建青岛广新信建设咨询公司网站
  • seo公司网站推广设计办公室设计公司
  • 剑阁住房和城乡建设厅网站三亚网站建设兼职
  • 工作室网站制作网站建设如何自学
  • 泉州app网站开发价格wordpress cnzz 插件
  • 自贡做网站公司wordpress 页面转跳
  • 温州网站建设价格技术北京做网页的公司
  • 微网站 手机网站展示型网站 asp.net
  • 申请网站空间有哪几种方式开发手机网站的步骤
  • 沈阳网站开发公司网站建设综合推荐
  • 介绍个人网站的ppt怎么做网站搜索功能
  • 手机网站制作平台gta手机网站大全
  • 深圳智慧建设控股有限公司网站wordpress如何调用图片
  • 吃的网站要怎么做的深圳网站搭建价格
  • 哪些行业做网站多运用.net做网站
  • 搭建网站内链系统成都酒店设计十大公司排名
  • 查询自己网站外链重庆做营销网站建设
  • 网站主目录权限配置微网站案例
  • 杭州做服装电商拿货的网站营销型网站建设域名
  • 快速建站教程提升学历官网报名多少钱
  • 为什么网站权重会掉wordpress删除plugins
  • 做网站的标题图片本地wordpress 外网访问不了
  • 推荐网站建设服务商wordpress可视化编辑器 windows
  • 网站建设zgkr医院网站建设运营方案
  • 重庆最火的网站wordpress导入excel