QT-QQuick开发心得

本文介绍了QT QQuick开发中的几个关键点,包括使用qmlRegisterType注册类型到qml,通过rootContext()->setContextProperty注册C++对象,以及如何处理高分屏和全局字体设置。在布局管理上,讨论了Row和Column布局适用于固定区域大小的场景,而RowLayout/ColumnLayout适合缩放区域,同时提到anchor作为辅助布局的用途。
摘要由CSDN通过智能技术生成

1. qmlRegisterType 可以注册类型到qml中使用的,尽量注册qml类型,在qml中生成对象由qmlengine管理生命周期。但是这样也有缺陷,就是在其他qml中访问不方便

  qmlRegisterUncreatableType<Tester>("Logic", 1, 0, "Tester", "");
  qmlRegisterType<AudioTesterList>("Logic", 1, 0, "AudioTesterList");

2. rootContext()->setContextProperty. 直接注册C++对象到qml中使用,这样在同一个engine中加载的qml很方便引用。缺点是写起来很快,但是不方便维护,可能会出现一个对象被四处引用的问题。

  AudioTestManager audio_test_manger;

  QQmlApplicationEngine engine;
  engine.rootContext()->setContextProperty(
      "audioDeviceManager", QVariant::fromValue(&audio_test_manger));

3. 设置自适应高分屏:

#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
  QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif

4. 设置全局字体:

  QGui
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值