Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.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小部件的实际颜色';背景_C++_Qt - Fatal编程技术网

C++ 获取Qt小部件的实际颜色';背景

C++ 获取Qt小部件的实际颜色';背景,c++,qt,C++,Qt,在我的系统上,您可以从中看到,QTabWidget的背景比窗口的背景要轻(#FCFCFCvs#EFEFEF) 但是,当我试图查询颜色时 auto tab = new QTabWidget; tab->addTab(new QWidget, "Test"); setCentralWidget(tab); auto color = tab->palette.brush(tab->backgroundRole()).color(); qDebug() << color

在我的系统上,您可以从中看到,
QTabWidget
的背景比窗口的背景要轻(
#FCFCFC
vs
#EFEFEF

但是,当我试图查询颜色时

auto tab = new QTabWidget;
tab->addTab(new QWidget, "Test");
setCentralWidget(tab);

auto color = tab->palette.brush(tab->backgroundRole()).color();
qDebug() << color.name() << '\n';
auto-tab=新的QTabWidget;
选项卡->添加选项卡(新的QWidget,“测试”);
setCentralWidget(选项卡);
auto color=tab->palete.brush(tab->backgroundRole()).color();

qDebug()也许你应该这样做:
tab->palete().color(tab->backgroundRole())?它返回完全相同的内容。无法查询实际颜色。小部件的样式对此负责——假设小部件已设置样式。样式将使用系统调色板和/或启发法等,除此之外还有CSS样式。唯一可移植的方法是将小部件渲染到图像中,并从图像中获取颜色值。