我有以下代码来显示按钮,我是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,则显示按钮但不可点击。
答案 0 :(得分:0)
调用ui->setupUi(this);
时,将初始化存储在.ui
文件中的Qt设计器中创建的用户界面。它构造小部件并在内部调用setCentralWidget
。因此,当它被调用时,中央窗口小部件将被您设置的窗口小部件替换。
自己创建用户界面并忽略ui->setupUi(this);
或首先在构造函数中调用ui->setupUi(this);
,如果愿意,可以自己完成其余的初始化。