1.相关说明
独立Widget窗口、嵌入式Widget、嵌入式MainWindow窗口、独立MainWindow窗口等弹窗的实现
相关界面包含关系
2.相关界面
3.相关代码
mainwindow.cpp
#include "mainwindow.h" #include "ui_mainwindow.h" #include "tformdoc.h" #include "tformtable.h" #include <QPainter> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); // setCentralWidget(ui->tabWidget); ui->tabWidget->setVisible(false); ui->tabWidget->clear(); ui->tabWidget->setTabsClosable(true); } MainWindow::~MainWindow() { delete ui; } void MainWindow::do_changeTabTitle(QString title) { int index = ui->tabWidget->currentIndex(); ui->tabWidget->setTabText(index, title); } void MainWindow::on_actionWidgetInsite_triggered() { TFormDoc *formDoc = new TFormDoc(this); formDoc->setAttribute(Qt::WA_DeleteOnClose); int cur = ui->tabWidget->addTab(formDoc, QString::asprintf("Doc %d", ui->tabWidget->count())); ui->tabWidget->setCurrentIndex(cur); ui->tabWidget->setVisible(true); connect(formDoc, &TFormDoc::titleChanged, this, &MainWindow::do_changeTabTitle); } // tab的关闭 void MainWindow::on_tabWidget_tabCloseRequested(int index) { ui->tabWidget->widget(index)->close(); } void MainWindow::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.drawPixmap(0, ui->toolBar->height(), width(), height()-ui->toolBar->height()-ui->statusbar->height(), QPixmap(":/jpg/jpg/shenli.jpg")); }