qt中怎么获取父类QWidget控件的背景色,我是要把它设置到他的子类控件中去的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt中怎么获取父类QWidget控件的背景色,我是要把它设置到他的子类控件中去的相关的知识,希望对你有一定的参考价值。

参考技术A QWidget *widget = (QWidget*)(ui->pushButton->parent());
QPalette pal = widget->palette();
QBrush brush = pal.background();
QColor col = brush.color();
qDebug()<<col;

这样就可以。调试已通过。
参考技术B foreach (Control c in qt.Control)

c.BackColor = QWidget.BackColor;

QT中的tabwidget有几个tab页,每个tab页中有label控件,怎么在函数中获取某个tab页中的label里的值?

参考技术A

label的父类是ui,获取Label和在哪个Tab没关系。

如果是界面里拉的,那界面上对象名叫什么,代码里就ui->labelXX->text();

 

当然你说的可能是另一种方法(仅提供思路):

    获取Tab页所在的Widget:QWidget *pWidget= ui->tab_2;

    将widget上某一控件转成Label:QLabel *pLabel = (QLabel*)pWidget->children.at(1);

    取值:QString ValueStr= pLable->text();

这种方法因为是转换过去的,只适用于固定布局,容易崩溃,请谨慎使用

参考技术B QLabel *pLabel = (QLabel*)ui->tabWidget->widget(index);
运用这个方法就可以获得指针

以上是关于qt中怎么获取父类QWidget控件的背景色,我是要把它设置到他的子类控件中去的的主要内容,如果未能解决你的问题,请参考以下文章

QWidget父窗口设置的背景色怎么不影响子窗口

Qt怎样设置QMainWindow窗口中嵌套的QWidget子窗口的背景色

qt 怎么 设置widget的背景色

修改QWidget 背景色

(VB6)窗体菜单项怎么自定义背景色和字体颜色(含子菜单)

VC++如何改变按钮背景色