[Qt-interest] QPalette
chandrasekar wagmare
sekarwagmare at gmail.com
Tue May 5 08:24:32 CEST 2009
pushButton = new QPushButton(this);
QPixmap pixmap("file.png");
pushButton->setIcon(QIcon(pixmap));
pushButton->setIconSize(pixmap.size());
On Tue, May 5, 2009 at 9:44 AM, Girish Ramakrishnan
<girish at forwardbias.in>wrote:
> Alvaro Sánchez wrote:
> > Hi all,
> >
> > I'm trying to change the button color (no border) using the below
> code:
> >
> > QPalette palette = ui.pushButton->palette();
> > palette.setColor( QPalette::Normal, QPalette::Button, QColor(Qt::red)
> );
> > ui.pushButton->setPalette(palette);
> >
> >
> >
> > ui.pushButton->setAutoFillBackground(true);
> >
> > and the result is wrong, the pushButton border is red instead of the
> > button, does anybody know how to resolve it?
> >
>
> This cannot be resolved, read up the stylesheet documentation as to why.
> http://doc.trolltech.com/4.5/stylesheet.html.
>
> > If I use QStyleSheet to define a "background-color: red" to apply the
> > pushButton, the result is correct, but my memory grows up, does anybody
> > know why is happening?
> >
> > #include "ui_testqt.h"
> >
> > class testqt : public QDialog
> > {
> > Q_OBJECT
> >
> > public:
> > testqt(QWidget *parent = 0);
> >
> >
> > void Refresh();
> >
> > private slots:
> > void on_pushButton_pressed();
> > void closeEvent (QCloseEvent *);
> >
> >
> > private:
> > Ui_Dialog ui;
> >
> > bool bStatus;
> >
> >
> > };
> >
> >
> > include "testqt.h"
> >
> > testqt::testqt(QWidget *parent)
> > : QDialog(parent)
> > {
> > QString qtstylesheet = "background-color: yellow";
> >
> > ui.setupUi(this);
> > bStatus = false;
> > }
> >
> > void testqt::on_pushButton_pressed()
> > {
> > bStatus = !bStatus;
> > }
> >
> > void testqt::Refresh()
> > {
> > QString qtstylesheet = "background-color: yellow";
> > QString qtstylesheet2 = "background-color: red";
> >
> > if (bStatus)
> > {
> > ui.pushButton->setStyleSheet(qtstylesheet);
> > }
> > else
> > {
> > ui.pushButton->setStyleSheet(qtstylesheet2);
> > }
> >
>
> Seems complex. All you need is the following stylesheet:
> setStyleSheet("QPushButton { background-color: yellow; }
> QPushButton:pressed { background-color: red }");
>
> The correct usage is in the documentation above.
>
> Girish
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest
>
--
WAGMARE
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20090505/3bcc9bee/attachment.html
More information about the Qt-interest-old
mailing list