在文件后添加新选项卡 - >新

Add new tab after file -> new

本文关键字:gt 选项 添加 新选项 文件      更新时间:2023-10-16

我正在编写一个简单的编辑器i Qt和C++。我想要选项卡,因此在创建新文档后,我想在新选项卡中打开它。我的代码:

// mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    setWindowTitle("emacs");
}
MainWindow::~MainWindow()
{
    delete ui;
}
void MainWindow::on_actionExit_triggered()
{
    qApp->exit(0);
}
void MainWindow::on_actionNew_triggered()
{
    // what to write here?
}

// main.cpp
#include <QtGui/QApplication>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

// mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
    class MainWindow;
}
class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
private slots:
    void on_actionExit_triggered();
    void on_actionNew_triggered();
private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

我已经成功地创建了一个退出程序的操作。但是当我尝试这样的事情时:tabWidget->addTab(new QWidget(),"new tab");抱怨tabWidget没有在范围内声明。任何人?谢谢!

tabWidget不是您的MainWindow类的成员,我猜它是您在ui文件中定义的对象,因此请尝试:

ui->tabWidget->addTab(...);