Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将复选框置于qt中时qtreeview的背景色_C++_Qt_Qtreeview - Fatal编程技术网

C++ 将复选框置于qt中时qtreeview的背景色

C++ 将复选框置于qt中时qtreeview的背景色,c++,qt,qtreeview,C++,Qt,Qtreeview,我已经为QTreeView设置了背景色,并且视图也有QCheckBox。因此,在代理中,我绘制了QCheckBox,但是放置QCheckBox的单元格的剩余区域没有背景色。我知道QRect会绘制整个单元格并绘制复选框,但我如何说将剩余的单元格从QCheckBox中分离出来呢用我的背景色 谢谢,为什么您要自己绘制复选框而不是让QTreeView这样做?只有很少几行有bool值,我将用MyDelegate的绘制方法中的QCheckBox替换它们。您可以使用树视图模型,在模型的数据函数中使用Qt::B

我已经为QTreeView设置了背景色,并且视图也有QCheckBox。因此,在代理中,我绘制了QCheckBox,但是放置QCheckBox的单元格的剩余区域没有背景色。我知道QRect会绘制整个单元格并绘制复选框,但我如何说将剩余的单元格从QCheckBox中分离出来呢用我的背景色


谢谢,

为什么您要自己绘制复选框而不是让QTreeView这样做?只有很少几行有bool值,我将用MyDelegate的绘制方法中的QCheckBox替换它们。您可以使用树视图模型,在模型的数据函数中使用Qt::BackgroundRole,和Qt::ItemIsUserCheckable在您的模型的flags函数中。因此,您试图说我们需要创建自定义模型只是为了创建QCheckBox,但没有一种方法可以在绘制代理本身时实现这一点。嗯,在没有模型的情况下,您如何使用QTreeView?也许你是说你的小部件?顺便说一句,这些是不同的类。您提到了QTreeView,所以我在谈论它的模型。