1.失去焦点背景颜色,代码设置全选的时候,背景会是白色,需要设置失去焦点背景颜色。(设置焦点,会出现白转化成设置背景色,效果不好)

QPalette p;

    p.setColor(QPalette::Inactive,QPalette::Highlight,QColor(51,153,255));
    p.setColor(QPalette::Inactive,QPalette::HighlightedText,QColor(Qt::white));
    p.setColor(QPalette::Inactive,QPalette::Text,QColor(Qt::white));
    lwItems->setPalette(p);

去掉选择虚线框
 MyListWidgetDelegate *listWidgetDelegate=new MyListWidgetDelegate(lwItems);
 lwItems->setItemDelegate(listWidgetDelegate);

void DataDlg::createMiddleListView()
{ lwItems=new QListWidget();
lwItems->setSelectionMode(QAbstractItemView::MultiSelection);
lwItems->setEditTriggers(QAbstractItemView::SelectedClicked);
QPalette p;
p.setColor(QPalette::Inactive,QPalette::Highlight,QColor(,,));
p.setColor(QPalette::Inactive,QPalette::HighlightedText,QColor(Qt::white));
p.setColor(QPalette::Inactive,QPalette::Text,QColor(Qt::white));
lwItems->setPalette(p);
lwItems->setIconSize(QSize(,));
lwItems->setObjectName("lwItems");
MyListWidgetDelegate *listWidgetDelegate=new MyListWidgetDelegate(lwItems);
lwItems->setItemDelegate(listWidgetDelegate);
addExportItems();
contentLayout->addWidget(lwItems); }

添加数据

void DataDlg::addExportItems()
{
isExportData=true;
lwItems->clear();
btnImportExport->setText(exportText);
for(int i=;i<ExportFieldsCount;i++)
{
lwItems->addItem(ExportFields[i].fields);
setListWidgetIcon(i,false);
} }

选择触发事件

void DataDlg::listWidgetEvent(QListWidgetItem *clickedItem)
{ bool isSeleced=clickedItem->isSelected(); if(isSeleced==true)
{
clickedItem->setIcon(QIcon(":/res/icons/images/checkbox_checked.png")); }
else
{
clickedItem->setIcon(QIcon(":/res/icons/images/checkbox_unchecked.png")); } }

设置全选或者取消全选

void DataDlg::onSelectAll()
{
isSelectAll=!isSelectAll; int itemCount=lwItems->count();
for(int i=;i<itemCount;i++)
{
lwItems->item(i)->setSelected(isSelectAll); setListWidgetIcon(i,isSelectAll);
} }

添加图标

void DataDlg::setListWidgetIcon(int row,bool isChecked)
{
if(isChecked)
{
lwItems->item(row)->setIcon(QIcon(":/res/icons/images/checkbox_checked.png"));
}
else
{
lwItems->item(row)->setIcon(QIcon(":/res/icons/images/checkbox_unchecked.png")); } }

取出选中的值

int selectedCount=lwItems->selectedItems().count();
if(selectedCount==)
{
return;
} QString selectedText="";
for(int i=;i<selectedCount;i++)
{ selectedText=lwItems->selectedItems().at(i)->text();
}

2. 去掉选择虚线框

#ifndef MYLISTWIDGETDELEGATE_H
#define MYLISTWIDGETDELEGATE_H #include <QObject>
#include<QItemDelegate>
#include<QPen>
#include<QPainter>
#include<QBrush>
#include<QStyledItemDelegate> #include<QDebug> class MyListWidgetDelegate : public QStyledItemDelegate
{
Q_OBJECT
public:
explicit MyListWidgetDelegate(QObject *parent = ); protected:
void paint(QPainter *painter,const QStyleOptionViewItem &option, const QModelIndex &index) const; private: signals: public slots:
}; #endif // MYLISTWIDGETDELEGATE_H
#include "mylistwidgetdelegate.h"

MyListWidgetDelegate::MyListWidgetDelegate(QObject *parent) : QStyledItemDelegate(parent)
{ }
void MyListWidgetDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{ QStyleOptionViewItem itemOption(option);
if(itemOption.state & QStyle::State_HasFocus)
{
itemOption.state = itemOption.state ^ QStyle::State_HasFocus;
} //调用默认委托
QStyledItemDelegate::paint(painter,itemOption,index); QPen pen;
pen.setColor(QColor(,,));
pen.setStyle(Qt::DotLine);
painter->setPen(pen);
painter->drawLine(itemOption.rect.bottomLeft(),itemOption.rect.bottomRight()); }

qss

QListWidget#lwItems{

    color:#FFFFFF;
font:16pt "DejaVu Sans";
background-color:#;
margin:2px;
padding-left:10px;
padding-right:10px;
border: 1px solid #32435E; } QListWidget#scaleItemsList,QListWidget#connectedIPList{ color:#FFFFFF;
font:16pt "DejaVu Sans";
background-color:#;
margin:20px;
border: 1px solid #32435E; }
QListWidget::item{ border:solid #;
border-width:0px 0px 1px 0px;
padding:10px 0px 10px 15px;
margin:0px 5px 0px 5px; } QListWidget::item:selected { background: qlineargradient(x1: , y1: , x2: , y2: ,
stop: #6A848C, stop: 1.0 #0F9EAF); } QListWidget::item:selected:!active {
border-width: 0px ; }
QListWidget::item:selected:active {
border-width: 0px; }

QListWidget的更多相关文章

  1. Pyqt QListWidget之缩略图列表

    QListWidget 可以设置模型setViewMode  当setViewMode值为QListView.IconMode 表示Icon模式 以下代码来自Pyqt Example #!/usr/b ...

  2. Pyqt QListWidget 展示系统环境变量

    今天学习了下Pyqt的 QListWidget 控件 我们先看下这个图片 这张图片就是典型的listWidget效果,我们今天就仿这样布局新建个ListWidget 在网上找了个关于QListWidg ...

  3. 列表框QListWidget类

    QListWidget类也是GUI中常用的类,它从QListView下派生: class Q_GUI_EXPORT QListWidget : public QListView { Q_OBJECT ...

  4. Pyqt在QListWidget中添加右键菜单

    Pyqt 的资料奇少, 攻破难点之后, 就在这里记一下笔记. QListWidget 是继承 QWidget 的, 所以 QListWidget 是有右键菜单的, 从文档上可以找到 QWidget 上 ...

  5. QPushButton 与 QListWidget 的按键响应

    在Qt中添加按钮或表格控件时需要添加其按键响应,一般来说有两种方法,一种是直接实现其响应函数,第二种是自己写一个响应函数,然后用Qt的信号槽将它们连接起来.愚以为第一种方法更为简单一些. 声明这些控件 ...

  6. QListWidget特别简单,但有两种添加item的方式

    虽然特别简单,但是对于小白来说,还是有必要过一下脑子和眼睛,当然还得过手(江湖传言:眼过千变,不如手过一遍),所以记录在此: #include "tablewidgetxxx.h" ...

  7. QListWidget代码刷新界面

    我有一个特殊效果要求实现(其实很弱智,也变成特殊效果,汗一下自己):两个QRadioButton切换的时候,让旁边的QListWidget自动变化不同的背景色.想了很多办法: 1. 控件自己刷新,不行 ...

  8. QListWidget方式显示缩略图

    最近在工作中经常遇到了一个问题就是把把文件夹中的图片全部以缩略图的形式显示出来,刚开始的时候一头雾水,不知道怎么办,经过在网上查资料,发现QListWidget控件可以实现图片的缩略图显示,但是不知道 ...

  9. qt model/view 架构基础介绍之QListWidget

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import  * from Py ...

随机推荐

  1. Struts2验证框架实例

    今天写了个Struts验证框架的实例,总算把验证框架弄清楚了. 上一篇Struts实例的action没有继承ActionSupport类,虽然也可以实现action的功能,但是却不能应用Struts提 ...

  2. SQL like 模糊查询

    SQL 模糊查询 在进行数据库查询时,有完整查询和模糊查询之分. 一般模糊查询语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: ...

  3. php后台多用户权限组思路与实现程序代码

    网站开发少不了有网站后台,有了后台自然要对用户有同角色来分配一下,特别是多用户系统的情况下,如我一个系统要有多个管理员,那么我这些管理要分成,编辑,友情连接,管理员等,那我们要有权限和角色分配,今天我 ...

  4. fastJSON☞JSONParameters☞时区的修改☞时间最后有一个"Z"

    why... 为什么会有这个问题; 由于近期用到需要将数据序列化... 最终选择了fastJSON(版本为1.)来实现. 但是发现了一个问题,表中有一个dateTime类型的字段, 本来数据库中存入的 ...

  5. Intent和Activity知识点总结

    1.Intent的跳转传值2.Intent的隐式启动(用于不同应用中)与显示启动(同一应用中)3.Activity的生命周期    void onCreate()——Activity已经被创建完毕,创 ...

  6. ASP页面-自动取回数据库中的值生成导航。

    以下为自己总结的一点经验,简单的介绍一下方法,如发现有误,请帮忙指正,谢谢. 一,首先定义调用据库. <% dim objconn,objconnstr set objconn=server.c ...

  7. 创业15条经验总结:温饱之后,创业公司CEO如何树“三观”?

    都说创业改变命运,事实上不是,创业,时时刻刻,可能连“命”都保不住!创业公司最重要的只有“活下去”.满足了这个.才有资格谈其他.公司连饭都开不了,还谈什么其他?创业公司如果连生存问题都解决不了,高位的 ...

  8. Mac Pro 编译安装 PHP扩展 -- Swoole扩展

    回顾下先前的安装笔记: PHP5不重新编译,如何安装自带的未安装过的扩展,如soap扩展? #下载 Swoole-1.8.10后,开始编译# cd /Users/jianbao/Downloads/s ...

  9. mysql常用语句总结

    1.创建语句 CREATE DATABASE database_name //创建数据库 //删表 DROP TABLE IF EXISTS `t_social_user_extend`; //建表C ...

  10. C#操作Word的超详细总结

    本文中用C#来操作Word,包括: 创建Word: 插入文字,选择文字,编辑文字的字号.粗细.颜色.下划线等: 设置段落的首行缩进.行距: 设置页面页边距和纸张大小: 设置页眉.页码: 插入图片,设置 ...