首页 > 解决方案 > Overlappig 小部件的 QT 自定义布局示例无法编译

问题描述

使用 QT 5.11,我试图重叠一系列小部件。使用谷歌,我发现了这个,它引用了Layout Management。我已经复制了源代码,但它没有编译。问题是头文件尝试使用 3 个不同的签名来初始化 QLayout,但这些签名都不存在。

CardLayout(QWidget *parent, int dist): QLayout(parent, 0, dist) {}
CardLayout(QLayout *parent, int dist): QLayout(parent, dist) {}
CardLayout(int dist): QLayout(dist) {}

这些签名都没有出现在 QLayout 的 4.8 或 5.12 文档中,而且我找不到任何关于此用法的参考。我错过了什么?

标签: c++qt

解决方案


卡片示例来自 Qt3(石器时代)。QLayout在Qt3中曾经有如下界面:

QLayout ( QWidget * parent, int margin = 0, int spacing = -1, const char * name = 0 );
QLayout ( QLayout * parentLayout, int spacing = -1, const char * name = 0 );
QLayout ( int spacing = -1, const char * name = 0 );

推荐阅读