- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 Qt 有点陌生,所以决定稍微尝试一下,以便有一天我可以用 GUI 制作一些程序。我一直在玩 Windows 并遇到了一个问题。除了 QMainWindow 之外,我还创建了两个新的 QWidget Form 类。使用其中之一,我能够制作一个单独的窗口弹出和消失。我想用第二个做的是......
我有一个带有按钮的 MainWindow,当按下该按钮时,CentralWidget 变为带有另一个按钮的 QWidget。然后,当我按下新按钮上的按钮时,它会将 CentralWidget 恢复为原始按钮。
我确实尝试在更改之前存储初始的 CentralWidget,但我还没有能够成功恢复它。我知道 QStackedWidget,但我想知道是否有另一种方法。谢谢!
最佳答案
似乎 Qt 删除了子 widget,当新的一个被指定为子 widget 时。下面的代码对此进行了说明并显示了解决方法
class QMyWidget: public QWidget
{
public:
~QMyWidget(){std::cout<<"Destroyed"<<std::endl;}
};
class QMyWidget2: public QWidget
{
public:
~QMyWidget2(){std::cout<<"Destroyed2"<<std::endl;}
};
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->setCentralWidget(new QMyWidget());
this->setCentralWidget(new QWidget);
QWidget * w = new QMyWidget2();
this->setCentralWidget(w);
w->setParent(NULL);
this->setCentralWidget(new QWidget);
}
MainWindow::~MainWindow()
{
delete ui;
}
关于c++ - 如何恢复 QMainWindow 的初始 centralwidget?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6575250/
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
我是一名优秀的程序员,十分优秀!