使用函数 QWidget::setStyle() 和小部件样式作为“Windows”解决了这个问题。
我发现最简单的方法是创建 QListWidget 的子类。
//header file : echklistwidget.h
#include <qlistwidget.h>
#include <QWidget>
class EChkListWidget : public QListWidget
{
Q_OBJECT
public:
EChkListWidget( QWidget *parent=0);
};
//source file : echklistwidget.cpp
#include "echklistwidget.h"
#include <qwidget.h>
#include <qstylefactory.h>
class QStyle;
EChkListWidget :: EChkListWidget(QWidget* parent) : QListWidget(parent)
{
//setStyle(QStyleFactory::create("Fusion"));
setStyle(QStyleFactory::create("Windows"));
}
//using object of subclass EChkListWidget
EChkListWidget *lstObjListGroup1;
lstObjListGroup1 = new EChkListWidget( wgtGroup );
{//loop
...
QListWidgetItem *itemChkList = new QListWidgetItem( itValue, lstObjListGroup1 );
itemChkList->setFlags (itemChkList->flags () | Qt::ItemIsUserCheckable );
itemChkList->setCheckState (Qt::Unchecked); //initialize check state
}