Qpushbutton没有显示

时间:2015-02-10 19:19:52

标签: c++ qt

我有以下代码来显示按钮,我是qt的新手并且无法弄清楚它为什么不起作用。

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QtWidgets>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
   QWidget* wdg = new QWidget(this);
   QPushButton *button = new QPushButton(wdg);
   button->setText(tr("something"));
   setCentralWidget(wdg);//line 1
   ui->setupUi(this);
}

MainWindow::~MainWindow()
{
delete ui;
}

如果删除line1,则显示按钮但不可点击。

1 个答案:

答案 0 :(得分:0)

调用ui->setupUi(this);时,将初始化存储在.ui文件中的Qt设计器中创建的用户界面。它构造小部件并在内部调用setCentralWidget。因此,当它被调用时,中央窗口小部件将被您设置的窗口小部件替换。

自己创建用户界面并忽略ui->setupUi(this);或首先在构造函数中调用ui->setupUi(this);,如果愿意,可以自己完成其余的初始化。