给你一个替代方案吧 就是不用setStyleSheet 而是用setPalette 望对你有用。
desk.h:
#ifndef DESK_H
#define DESK_H
#include <QWidget>
#include <QDialog>
#include <QObject>
class QToolButton;
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent=0);
private:
QToolButton *startButton;
};
class Desk : public QDialog
{
public:
Desk(QWidget *parent=0);
private:
Widget *widget;
};
#endif
desk.cpp:
#include <QtGui>
#include "desk.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
startButton = new QToolButton(this);
startButton->setGeometry(0,0,30,20);
}
Desk::Desk(QWidget *parent)
: QDialog(parent)
{
QPalette palette;
palette.setColor(QPalette::Window, QColor(0, 170, 0, 255));
Widget* widget = new Widget(this);
widget->setPalette(palette);
widget->setAutoFillBackground(true);
widget->setGeometry(QRect(0,220,320,22));
}
main.cpp:
#include "desk.h"
#include <QApplication>
int main(int argv, char* args[])
{
QApplication app(argv, args);
Desk desk;
desk.resize(320,240);
desk.show();
return app.exec();
}