Qt第五课 无构造函数可以接受源类型,或构造函数重载决策不明确

场景

        QJsonArray rgParams =  { 10, 20, 30, 40 };

    编译代码的时候出错,C11标准才支持这种类的初始化列表语法,因此如果当前VS的版本过低,必须调整已有的代码,例子如下:

    QJsonArray rgParams;

    rgParams.insert(0, 10);

    rgParams.insert(1, 20);

    rgParams.insert(2, 30);

    rgParams.insert(3, 40);



     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1955726,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QMessageBox 的构造函数有多个重载,以下是其中一个常用的实现代码: ```cpp QMessageBox::QMessageBox(QWidget *parent) : QDialog(parent) { setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); setAttribute(Qt::WA_DeleteOnClose); buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok, Qt::Horizontal, this); buttonBox->setObjectName(QStringLiteral("qt_msgbox_buttonbox")); label = new QLabel(this); label->setObjectName(QStringLiteral("qt_msgbox_label")); label->setWordWrap(true); label->setAlignment(Qt::AlignTop | Qt::AlignLeft | Qt::AlignAbsolute); textEdit = new QTextEdit(this); textEdit->setObjectName(QStringLiteral("qt_msgbox_textedit")); textEdit->setReadOnly(true); textEdit->setHtml(QString::fromLatin1("<html><body><p>%1</p></body></html>").arg(tr("Message"))); iconLabel = new QLabel(this); iconLabel->setObjectName(QStringLiteral("qt_msgbox_iconlabel")); iconLabel->setAlignment(Qt::AlignAbsolute | Qt::AlignTop); iconLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); setTextFormat(Qt::AutoText); setIcon(QMessageBox::NoIcon); setStandardButtons(QMessageBox::NoButton); } ``` 这个构造函数主要是创建了一些界面元素,如 `QDialogButtonBox`、`QLabel` 和 `QTextEdit`,并设置了默认的文本、图标和按钮。在 `setAttribute` 中设置了 `Qt::WA_DeleteOnClose`,表示当对话框被关闭时会自动删除该对象。同时,通过 `setWindowFlags` 函数设置了窗口标志,去掉了上下文帮助按钮。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值