缺少 QLayout 构造函数来实现卡片布局
Posted
技术标签:
【中文标题】缺少 QLayout 构造函数来实现卡片布局【英文标题】:Missing QLayout constructor to implement Card Layout 【发布时间】:2019-02-11 16:10:21 【问题描述】:我正在尝试实现这个 CardLayout 示例https://doc.qt.io/qt-5/layout.html,但是当我尝试编译给定文件 card.h 时,它无法抱怨 QLayout 的构造函数,因为没有接受给定参数的重载。
我是否错过了这个示例的某些内容?此示例是否仅适用于旧版本的 Qt?我正在使用 Qt 5.12
Card.h 代码
#ifndef CARD_H
#define CARD_H
#include <QtWidgets>
#include <QList>
class CardLayout : public QLayout
public:
CardLayout(QWidget *parent, int dist): QLayout(parent, 0, dist)
CardLayout(QLayout *parent, int dist): QLayout(parent, dist)
CardLayout(int dist): QLayout(dist)
private:
QList<QLayoutItem*> list;
;
#endif
【问题讨论】:
所有构造函数中的哪一个在抱怨? 他们都不见了 是的,看我的回答和官方文档 【参考方案1】:根据 qt 5.12 的文档
https://doc.qt.io/qt-5/qlayout.html
QLayout 类不再有这样的构造函数了,
你只有
QLayout(QWidget *parent)
和
QLayout()
【讨论】:
是的,我注意到了。我不确定为什么这个例子甚至在 5.12 文档中使用这些构造函数以上是关于缺少 QLayout 构造函数来实现卡片布局的主要内容,如果未能解决你的问题,请参考以下文章
想做一个java的简单图片浏览器,用的卡片布局来显示图片,有上一本,下一本两个按钮来切换图片