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样式。唯一可移植的方法是将小部件渲染到图像中,并从图像中获取颜色值。