請問我的QPushButton為什么不能正常顯示? -开发者知识库

請問我的QPushButton為什么不能正常顯示? -开发者知识库,第1张

在一個例子里看到的代碼:
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QWidget *widget = new QWidget();
    widget->setFixedSize(400, 400);
    widget->move(200,200);
    QPixmap *pixmap = NULL;
    pixmap = new QPixmap(200, 150);
    pixmap->load(":/images/heart.png");
    QIcon *icon = new QIcon(*pixmap);
    QPushButton *button = new QPushButton(*icon, "", widget);
    button->setIconSize(QSize(190, 150));
    button->setFixedSize(200, 150);

    QGridLayout *layout=new QGridLayout;
    layout->addWidget(button,0,0);

    widget->setLayout(layout);
    widget->showNormal();
    return app.exec();
}
顯示效果是這樣:
http://www.flickr.com/photos/79592362@N03/7327922458/in/photostream

我把這段QPushButton的代碼放到QDialog里為什么不能正常顯示?
LayoutDlg::LayoutDlg(QWidget *parent, Qt::WindowFlags f)
        : QDialog(parent,f)
{
    setWindowTitle(tr("MyLayout is OK!"));

    QWidget *widget = new QWidget();
    widget->setFixedSize(800, 600);
    widget->move(200,200);
    QPixmap *pixmap = NULL;
    pixmap = new QPixmap(200, 150);
    pixmap->load(":/images/heart.png");
    QIcon *icon = new QIcon(*pixmap);
    QPushButton *imageButton = new QPushButton(*icon, "", widget);
    imageButton->setIconSize(QSize(190, 150));
    imageButton->setFixedSize(200, 150);
    gridLayout = new QGridLayout(this);
    gridLayout->addWidget(imageButton,0,1);
}
最后顯示的是這樣:
http://www.flickr.com/photos/79592362@N03/7327919426/in/photostream

5 个解决方案

#1


  QPushButton *imageButton = new QPushButton(*icon, "", this);

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复