lemming
lemming

Reputation: 13

Qt button not appearing in main window

(Note: I started learning Qt yesterday and I did my search before asking this.)

After a bit of playing with Qt Designer I decided to make a more serious program, all programatically. Whereas before, simple taskes seemed.. simple, now, diaplaying a button is hell of a complicated because it doesn't show up.

main.cpp

int main(int argc, char * argv[])
{
    QApplication app(argc, argv);

    PixelPeep p;
    p.show();

    return app.exec();
}

pixelpeep.h - relevant part

class PixelPeep : public QMainWindow
{
    Q_OBJECT
public:
    explicit PixelPeep(QWidget *parent = 0);

signals:

public slots:

private:
    QToolBar * toolBar;
    QHBoxLayout * toolbarLayout;
    QToolButton * addButton; // add new image

    QScrollBar * zoomBar;
};

pixelpeep.cpp - relevant part

PixelPeep::PixelPeep(QWidget *parent) :
    QMainWindow(parent)
{
    resize(600,375);

    toolBar = new QToolBar;

    addButton = new QToolButton;
    addButton->setGeometry(20,20,20,20);

    toolBar->addWidget(addButton);
    toolbarLayout = new QHBoxLayout;
    toolbarLayout->addWidget(addButton);
}

After all this, I get an empty window.

Possible cause, AFAIK:

What else could it be?

Sorry for such a noob question...

Upvotes: 1

Views: 1683

Answers (1)

Iuliu
Iuliu

Reputation: 4091

Call addToolBar(toolBar); inside the PixelPeep constructor.

You didn't set any icon on your button so it will appear as invisible. Hover over it and you will see it's there:

enter image description here

Upvotes: 1

Related Questions