- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经编码了 QWidget MyWidget
我想添加两个 MyWidget
与 QVBoxLayout
在 MainWindow
类(与我们打开 Qt Creator 时默认提供的 MainWindow
相同)。所以,我所做的是,在 MainWindow
的构造函数中,我拿了两个指针MyWidget
,指向同一类的实例,然后将小部件添加到 QVBoxLayout
并被称为 setLayout
,但是当我运行代码时,用户界面什么都不包含!
演示代码(无效):
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QLayout>
#include "mywidget.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QVBoxLayout *layout;
layout=new QVBoxLayout();
MyWidget *a=new MyWidget(),*b=new MyWidget();
layout.addWidget(a);
layout.addwidget(b);
setLayout(layout);
}
MainWindow
的中心小部件.我做到了,并且奏效了。
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QLayout>
#include "mywidget.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QVBoxLayout *layout;
layout=new QVBoxLayout();
MyWidget *a=new MyWidget(),*b=new MyWidget();
layout.addWidget(a);
layout.addwidget(b);
QWidget *window=new QWidget();
window.setLayout(layout);
setCentralWidget(window);
}
最佳答案
原因由 QMainWindow
清楚描述文档:
QMainWindow has its own layout to which you can add QToolBars, QDockWidgets, a QMenuBar, and a QStatusBar. The layout has a center area that can be occupied by any kind of widget.
Note: Creating a main window without a central widget is not supported. You must have a central widget even if it is just a placeholder.
关于Qt:为什么向 MainWindow 添加布局(通过代码)不起作用,但添加为 CentralWidget 工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24599186/
我正在尝试找出一种方法来获取一个简单的 QMainWindow 来显示一个空的 QWidget 并报告用于命令行的实际屏幕大小。什么有效(修改过的 ZetCode PyQt5 教程内容): #!/us
我尝试构建一个简单的 GUI 应用程序。然后我收到了这些警告: QLayout: Attempting to add QLayout "" to MainWindow "", which alread
我有一个 QMainWindow,其中央小部件已设置为查看黑色场景的 QGraphicsView(用于测试目的)。请注意,在下面的代码中,我使用了派生自 QGraphicsView 的类,称为 CQt
我对 Qt 有点陌生,所以决定稍微尝试一下,以便有一天我可以用 GUI 制作一些程序。我一直在玩 Windows 并遇到了一个问题。除了 QMainWindow 之外,我还创建了两个新的 QWidge
这个问题在这里已经有了答案: QWidget does not draw background color (1 个回答) 关闭 8 年前。 我有一个 Qt Designer 构建的 GUI 我正在
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我是 PySide 的新手。我有一个主窗口对象,它一次显示一个小部件。我一直在尝试更改 QMainWindow 类的中央小部件,以便在按下按钮时替换窗口中的可见小部件。问题是按下的按钮在 Widget
我是 Qt 新手。我在多个网站上搜索了我的问题,但找不到答案。如何向 centralWidget 添加图像? 我试过: MainWindow w; w.centralWidget()->setStyl
我有一个带有 QMainWindow 的应用程序,理想情况下应该有一个以 QGLWidget 为中心的应用程序,在外面留有空间用于工具栏和其他顶部/侧面小部件。 不幸的是,无论 QGLWidget 设
我已经编码了 QWidget MyWidget我想添加两个 MyWidget与 QVBoxLayout在 MainWindow类(与我们打开 Qt Creator 时默认提供的 MainWindow
我正在尝试学习和构建一个小型扫雷器图形用户界面应用程序。 这是它的样子: 我想做的下一件事是单击一个按钮后,按钮将设置为 hide() 并且 QLabel 将出现在同一个位置。 我的代码是这样的: .
考虑以下示例代码: from PyQt5.QtWidgets import (QApplication, QHBoxLayout, QLabel, QWidget,
我只是想进入 QT(和 KDE)程序,但在尝试向 .ui 文件(基于 QWidget) 嵌入到我的 KDE 4 程序中。 这一切都来自 KDevelop 4 提供的基本模板,所以虽然我了解发生了什么,
我是一名优秀的程序员,十分优秀!