繁体   English   中英

Qt按钮未出现在主窗口中

[英]Qt button not appearing in main window

(注意:我昨天开始学习Qt,并在询问之前进行了搜索。)

在与Qt Designer玩了一会儿之后,我决定编写一个更认真的程序,全部以编程方式进行。 以前,简单的任务似乎很简单。现在,显示按钮非常麻烦,因为它没有显示出来。

main.cpp中

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

    PixelPeep p;
    p.show();

    return app.exec();
}

pixelpeep.h-相关部分

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-相关部分

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);
}

完成所有这些之后,我得到一个空窗口。

可能的原因,AFAIK:

  • 按钮在类构造函数中创建后将超出范围-此处不是这种情况,因为它是由私有成员addButton动态分配和指针的
  • 不在布局中或大小为0-情况并非如此,因为这两个代码均已解决

还有什么呢?

很抱歉出现这样的菜鸟问题...

调用addToolBar(toolBar); PixelPeep构造函数中。

您没有在按钮上设置任何图标,因此它将显示为不可见。 将鼠标悬停在它上面,您会看到它在那里:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM