- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我继承了 QmainWindow 类,用作我正在构建的应用程序的主窗口。
我已将中央小部件设置为指向我创建的另一个类的指针。
//main window constructor
postEntryWidget = 0; // null pointer to another class that extends QWidget
dataEntryWidget = new Data_Entry_Widget; //extends QWidget
setCentralWidget(dataEntryWidget); //set the widget in the main window
当用户点击一个 Action 时,这会将中央小部件设置为另一个指向另一个小部件类的指针。
/*
*this is the implementation of the slot that would be connected to the QAction
*connected to the postEntryWidget slot
*/
if(!postEntryWidget)
postEntryWidget = new Post_Entry_Widget;
setCentralWidget(postEntryWidget);
/*
*this is the implementation of the slot that would be connected to the QAction
*connected to the dataEntryWidget slot
*/
if(!dataEntryWidget)
dataEntryWidget = new Post_Entry_Widget;
setCentralWidget(dataEntryWidget);
这会在 View 之间来回切换时中断。如果我向前面的 View 添加一个空点,当我返回到该 View 时,我会丢失数据。
/*
*this is the implementation of the slot that would be connected to the QAction
*connected to the postEntryWidget slot
*/
dataEntryWidget = 0; //set the previous widget to a null pointer but loses data
if(!postEntryWidget)
postEntryWidget = new Post_Entry_Widget;
setCentralWidget(postEntryWidget);
如何在不创建自定义数据结构的情况下保持两个 View 之间的状态,或者这是一种不好的做法。我最熟悉 php 和 web 开发,所以我不确定这是否是解决此问题的最佳方法。
提前致谢
最佳答案
不太确定您的目标是什么。但是,如果您试图允许某人能够返回到他们正在处理的事情,那么也许您最好使用选项卡小部件而不是隐藏该工作的存在?
因此,您可以将其设为中央小部件,并在其下插入 Post_Entry_Widget
和 Data_Entry_Widget
实例。这样做的一个优势是 Qt 会为您管理选项卡切换。
如果您不想要标签,还有一个 QStackedWidget ,它只允许您以编程方式在一组小部件之间切换。
关于c++ - QtT 如何在 QMainWindow 中更改中央小部件时保存数据/状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11366314/
https://stackoverflow.com/a/13661255/462608 QMainWindow comes with its own layout, you can't set tha
我使用 QMainWindow 作为我的主 QMainWindow 的 child。这样我就得到了另一个区域,我可以将其用于可停靠小部件 (QDockWidget)。 根据以下帖子,这没问题,它也非常
重点关注这部分代码: prect = self.parent.rect() # Show Window2),Window2 不相对于父窗口居中显示。 当我使用 prect1.center() 时,它
这个相当少的代码创建了一个带有三个右键单击选项的系统托盘项。一个是QDialog的实例,另一个是QMainWindow,还有Quit。它适用于一个系统托盘驱动的应用程序,它将有一些 qdialogs
我想将 QMainWindow 实例放在另一个 QWidget 中(例如另一个 QMainWindow 的 centralWidget)。 我想知道为什么它不起作用? QMainWindow 直接继承
我正在 OSX 下使用 Qt Creator (Qt5.10) 编写 GUI。我有一个用于主应用程序窗口的 QMainWindow。在这里面我有一个 QTab 小部件,其中我有整个小部件(我们称它为
嗯,主题。 我在桌面 Qt4 应用程序中使用停靠栏小部件,但我不喜欢停靠栏形式的布局。我希望右侧 停靠栏占据右上 角,默认情况下由顶部 停靠栏占据。 我用谷歌搜索(认真地!)我能用这个做什么,我找到了
我是 PySide 的新手。我遇到一个问题:当我从另一个 QmainWIndow(主 UI)触发 QAction 时,一个新的 QMainWindow 闪烁并消失了。我在这里发布示例代码来说明以上内容
我的问题: 我想自定义标题栏 的工作方式和查找我的应用程序的方式。 我的想法: 我在 Qt Designer 中创建了一个新的 QWidget 表单,并向其中添加了一个 QWidget。我在构造函数中
我想在屏幕中间显示我的项目主窗口。当我调用“self.show()”时,窗口会显示在屏幕中间。 最佳答案 我知道你已经解决了,但我为那些有同样问题的人做这个回答。我发布它主要是因为你要求 pyQt 而
为什么 QMainWindow 的析构函数不是虚拟的?如果我从 QMainWindow 继承了一个类 MainWindow 并在它上面有一些指针属性,我就不能使用 MainWindow 的析构函数删除
我正在尝试重建一个屏幕记录PyQt应用程序,ScreenToGIF对我来说是一个非常好的演示,它创建了一个只有边框并在“Central Widgets”中记录内容的界面,如下所示: 主要功能为: 边框
我对 Qt 比较陌生。 我正在编写一个应用程序,我在其中生成伪随机数和 key ,我想用 QMainWindow 中捕获的随机鼠标移动来为生成器播种。此外,我希望能够在用户按下 QButton 时关闭
如何将第一个参数传递给 QMainWindow? 我希望能够将多个不同的参数传递给 QMainWindow。我的问题是,即使在我修改了构造函数以允许传递第二个/第三个/第四个参数之后,我仍然找不到实例
我尝试创建类似窗口池的东西。您可以在程序中的任何地方使用这些窗口来显示图形和绘图等。小部件运行良好,但目前的主要问题是创建池的尝试受挫。一个非 QObject-Object 应该表示一个 QMainW
我制作了一个快速测试程序,执行时似乎没有显示任何内容。这是我的代码: z_lock.h #ifndef Z_LOCK_H #define Z_LOCK_H #include class z_lock
是否可以制作一个未修饰的 QMainWindow,如果可以,我该怎么做? 最佳答案 是的, mainWin->setWindowFlags(Qt::CustomizeWindowHint); 参见 Q
我正在尝试编译 cutecash(一个 qt 项目)并且遇到了一些麻烦。我只是在做标准: cmake . make 但是,我遇到无法找到 QMainWindow 和 QString 等错误。这是错误:
一个最小的例子: class MainWindow(QtGui.QMainWindow): def __init__(self, parent = None): QtGui.QMain
我在 PyQT5 中遇到错误的布局。我究竟做错了什么?是否有一些预定义的小字段大小或类似的?我将主窗口创建为 QMainWindow,并在其中创建一个小部件作为中央小部件。它是这样的: class M
我是一名优秀的程序员,十分优秀!