c++ - QMdiSubWindows 的问题:窗口标志在最大化后消失,并且子窗口可能会因移动而丢失
问题描述
我的 QMdiSubWindows 有两个问题。目前可以将子窗口移动到主窗口的菜单/工具栏下方,因为我无法再到达子窗口的窗口标志,所以它会丢失。另一个问题是窗口标志在我最大化子窗口后消失了。
目前我的代码如下所示:
//mainwindow.h
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget * parent = nullptr);
protected:
void
closeEvent(QCloseEvent * event);
private slots:
void
newSignalTable();
private:
void
createMenuBar();
QMdiArea * m_mdiArea;
};
//mainwindow.cpp
MainWindow::MainWindow(QWidget * parent) : QMainWindow(parent), m_mdiArea(new QMdiArea)
{
m_mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
m_mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
setCentralWidget(m_mdiArea);
createMenuBar();
setWindowTitle(tr("%1 (Multiple Models)[ *]").arg(QApplication::applicationName()));
}
void
MainWindow::newSignalTable()
{
QMdiSubWindow * tableSubWindow = new QMdiSubWindow;
auto * tableWidget = new TableWidget(m_driveComLibrary);
QWidget * newWidget = tableWidget->createTable();
tableSubWindow->setWidget(newWidget);
tableSubWindow->setAttribute(Qt::WA_DeleteOnClose);
tableSubWindow->setMinimumSize(QSize(320, 300));
tableSubWindow->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
m_mdiArea->addSubWindow(tableSubWindow);
tableSubWindow->show();
}
void
MainWindow::createMenuBar()
{
QAction * newTableAction = new QAction(tr("&New Signal Table"), this);
newTableAction->setShortcuts(QKeySequence::New);
newTableAction->setStatusTip("Create a new signal table");
connect(newTableAction, &QAction::triggered, this, &MainWindow::newSignalTable);
auto fileMenu = menuBar()->addMenu(tr("&File"));
fileMenu->addAction(newTableAction);
fileMenu->addSeparator();
}
有谁知道如何限制子窗口的区域以及如何在最大化子窗口后获得窗口标志的正确表示?
解决方案
推荐阅读
- php - 允许的内存大小为 134217728 字节已用尽(尝试分配 31989760 字节)在 do...while 循环中
- bash - 以 bash 友好的方式格式化 Go 日期
- python - 在python中隐藏一个函数
- python - 不在 DJango 中将我的数据呈现为图形格式
- android - 如何以编程方式获取 Drawable 的色调值
- javascript - 如何从客户端javascript(而不是Nodejs)发送分块的HTTP请求?
- kubernetes - kubelet 如何将事件同步到 apiserver?
- ios - 如何在没有重定向通用登录页面的情况下直接在 Auth0 中登录?
- javascript - ArrowDown 的 Javascript 事件侦听器 - 停止页面滚动
- spring-boot - 升级 spring 和 java 版本后,无法从 bitbucket 读取 PCF 中的应用程序配置