QWidget窗体中使用Q_OBJECT后无法添加背景图片或背景色

在继承自QWiget的窗体中,设置背景图片或背景色比较简单的方法是使用setStyleSheet()函数,比如在构造函数中可以这样来设置背景图片:

this->setStyleSheet("border-image: url(:/background.jpg)");

  

但是如果窗体类中使用了Q_OBJECT,则这种方法没有效果,解决办法是使用setAttribute()函数,如下:

this->setAttribute(Qt::WA_StyledBackground);

this->setStyleSheet("border-image: url(:/background.jpg)");

这种方法同样适用于背景色无法设置的问题。

QWidget窗体中使用Q_OBJECT后无法添加背景图片或背景色

时间: 2024-12-08 10:55:30

QWidget窗体中使用Q_OBJECT后无法添加背景图片或背景色的相关文章

extjs中新建窗体时,给窗体添加背景图片不显示问题之一

1.在extjs中新建窗体时,给窗体添加背景图片不显示,例如下面的代码. 不显示的原因:因为设置了  layout: 'fit', Ext.create('Ext.Window', { title: '客户关系管理系统', width: 1024, height: 600, //plain: true, bodyStyle: 'background:url(images/登录背景.jpg);', headerPosition: 'top', layout: 'fit', items: { bor

Qt中添加背景图片的方法

Qt中添加背景图片的方法 1. QPalette的方法 #include <QApplication>#include <QtGui> int main(int argc, char *argv[]){    QApplication app(argc,argv);        QFrame *frame = new QFrame;    frame->resize(400,700);    QPixmap pixmap("images/frame.png&quo

netbeans中给jpanl添加背景图片制定代码的理解——匿名内部类继承父类

此测试是为了仿照在netbeans中给jpanl添加背景图片的制定代码的执行过程 在JpDemo中定义了个Car类的数据类型,但在给其赋值对象时使用了匿名内部类,继承了Car类,是其子类,并重写了父类的run方法,由于父类的构造函数,会自动执行run方法,就输出了sun run,证明重写成功,然后又再执行super.run 又一次调用父类未重写的run方法,因此输出fater run. 与此相似给jpanl添加背景图的代码为: jPanel1 = new javax.swing.JPanel()

delphi 窗体添加背景图片

var   Bmp: TBitmap; procedure TForm1.FormCreate(Sender: TObject); begin   Bmp := TBitmap.Create;   Bmp.LoadFromFile('D:\test.bmp');   Brush.Bitmap := Bmp; end; procedure TForm1.FormDestroy(Sender: TObject); begin   Bmp.Free; end; delphi 窗体添加背景图片

swing-窗体添加背景图片的2种方法

在美化程序时,常常需要在窗体上添加背景图片.通过搜索和测试,发现了2种有效方式.下面分别介绍.1.利用JLabel加载图片利用JLabel自带的setIcon(Icon icon)加载icon,并设置JLabel对象的位置和大小使其完全覆盖窗体.这是一个很取巧的办法,代码非常简单,如下所示. JLabel lbBg = new JLabel(imageIcon); lbBg.setBounds(0, 0, frameSize.width, frameSize.height); this.getC

Java怎么添加背景图片

首先,导入相关的包: import java.awt.BorderLayout; import java.awt.Container; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; 也可以用: import java.awt.*: import javax.swing.*: 接着,创建一个Java窗体对象,并设置为可见 e

MFC程序实现给对话框添加背景图片

1.插入一个Bitmap的资源图片,假设资源名称为:IDC_BITMAP1 2.在CXXXDialog::OnPaint()中实现: void CMyDialogDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // 用于绘制的设备上下文 SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0); // 使图标在工作区矩形中居中 int cx

VC++对话框(CDialog)添加背景图片

在对话框(CDialog)程序中,为了让程序看上去漂亮一些,我们可以为对话框添加一个好看的背景图片,要想完成这个目标,可以利用afx_msg BOOLOnEraseBkgnd (CDC* pDC) 这个函数. 下面结合实例说明(实例可在我的CSDN资源中下载:http://download.csdn.net/detail/margin1988/8337225): (1)找来一张合适的BMP格式的背景图片,将其放在工程的res目录下,然后在程序的资源视图中,将这张图片导入进来(假设导入后其ID为:

WPF之路二 button添加背景图片点击后图片闪烁问题

在为button添加背景图片的时候,点击后发现图片闪烁,我们仔细观察,其实Button不仅仅只是在点击后会闪烁,在其通过点击或按Tab键获得焦点后都会闪烁,而通过点击其他按钮或通过按Tab键让Button失去焦点后就不闪烁了.如此我们可以推测出这不是点击或其他什么的问题而是焦点的问题,那么我们只要设置Button的Focusable属性为False就行了. 网上给的答案是要在button属性设置Focusable="False" ,无奈找属性栏里没有找到Focusable,于是在代码里