为什么在Qt中,我设置了对话框的背景,为什么所有的控件的默认背景和dialog的背景一样?
当我在设置dialog的background-image时(我用的是样式表设置背景的),设置完背景后,发现所用的控件的背景都成和dialog的背景一样了,即使新加入的背景...
当我在设置dialog的background-image时(我用的是样式表设置背景的),设置完背景后,发现所用的控件的背景都成和dialog的背景一样了,即使新加入的背景也一样,请问这是为什么?急急急急
展开
2个回答
展开全部
继承,QWidget是父窗体嘛,所以 其他的都会和这个窗体保持一致.
追问
不是吧,我先拖了一个Qwidget控件,再拖一个Button控件,只要Button在Qwidget之内,Button的背景就和QWidget一样,如何再把Button拖出Qwidget之外,又变成没背景的了,不知道是为什么????、???
追答
qt的自动管理机制就是这样啊,只要在widget里,里面所有的空间都要受到widget管理,所以才不用你来主动释放指针内存等.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
QPalette palette;
palette.setBrush (dialog->backgroundRole(), QBrush (QPixmap ("./bg.bmp")));
dialog->setPalette (palette);
palette.setBrush (dialog->backgroundRole(), QBrush (QPixmap ("./bg.bmp")));
dialog->setPalette (palette);
追问
我用的是Qt的UI设计师做的,之前没出现过这样的情形,而且只要是Qwidget控件上的控件,所有的控件背景默认和Qwidget一样,求解释啊
追答
已经说过了,你在子类里直接调setStyleSheet就是全局的
你用我上面的代码不就能仅设置子类的背景色吗,还有什么问题呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询