- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 QMainWindow 在 C++ 中手动布置 Qt 应用程序。我希望在屏幕底部有两个并排停靠的小部件,但我希望它们具有不成比例的宽度。目前,我只能让它们具有相同的宽度。有没有办法设置拉伸(stretch)因子或其他机制来获得不均匀的码头 split ?
这是我目前的布局方式:
OutputPanel* outputPanel = new OutputPanel;
mainWindow.addDockWidget(Qt::BottomDockWidgetArea, outputPanel);
ThumbnailViewer* thumbnailViewer = new ThumbnailViewer;
mainWindow.splitDockWidget(outputPanel, thumbnailViewer, Qt::Horizontal);
谢谢!
最佳答案
按照您的建议使用 QMainWindow::resizeDocks。设置 resizeDock 参数后,相对比例在主窗口调整大小时保持不变。
#include "mainwindow.h"
#include <QApplication>
#include <QLabel>
#include <QDockWidget>
#include <QList>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.setCentralWidget(new QLabel("MAIN WINDOW CONTENTS"));
QDockWidget* dwa = new QDockWidget("DOCK A");
dwa->setWidget(new QLabel("DOCK A CONTENTS"));
QDockWidget* dwb = new QDockWidget("DOCK B");
dwb->setWidget(new QLabel("DOCK B CONTENTS"));
w.addDockWidget(Qt::BottomDockWidgetArea, dwa);
w.addDockWidget(Qt::BottomDockWidgetArea, dwb);
w.splitDockWidget(dwa, dwb, Qt::Horizontal);
w.show();
QList<QDockWidget*> docks = { dwa, dwb };
float windowWidth = w.size().width();
int dockWidthA = 0.60 * windowWidth;
int dockWidthB = 0.40 * windowWidth;
QList<int> dockSizes = { dockWidthA, dockWidthB };
w.resizeDocks(docks, dockSizes, Qt::Horizontal);
return a.exec();
}
关于c++ - QMainWindow::splitDockWidget 的 QDockWidget 拉伸(stretch)因子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42428232/
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
我是一名优秀的程序员,十分优秀!