今天根据教程-《Qt开发实例》学习遇到一个问题,当在MainWindow类中添加qPushbutton后,按钮无法用鼠标点击,折腾了很久发现是MainWindow中private预先定义的
Ui::MainWindow ui 的原因,它通过ui->setupUi(this) 创建了一个位于窗口顶部的栏位,且至于了窗口最顶层,导致后来创建的qPushbutton被覆盖住了,所以无法点击
若将代码作以下改动:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QPushButton>
#include <QMouseEvent> //引用鼠标类头文件
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget parent = 0);
~MainWindow();
private:
// Ui::MainWindow ui;
QPushButton btClose;
};
#endif // MAINWINDOW_H
--------------------mainwindowh
#include "mainwindowh"
#include "ui_mainwindowh"
MainWindow::MainWindow(QWidget parent) :
QMainWindow(parent)
// ui(new Ui::MainWindow)
{
// ui->setupUi(this);
btClose = new QPushButton(this);
btClose->setText("关闭");
}
MainWindow::~MainWindow()
{
// delete ui;
}
-----------------------------mainwindowcpp
那按钮就可以起作用了
以上就是关于qt按钮点击事件不在mainwindows全部的内容,包括:qt按钮点击事件不在mainwindows、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)