Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt5(qml)中ui.qml文件的用途是什么?_Qt_Qml - Fatal编程技术网

Qt5(qml)中ui.qml文件的用途是什么?

Qt5(qml)中ui.qml文件的用途是什么?,qt,qml,Qt,Qml,据我所知,.qml文件可用于定义UI,它似乎覆盖了UI.qml文件中写入的任何内容。 那么,ui.qml文件的具体用途是什么 我正在将Qt5与Qt Creator一起使用。存在.ui.qml文件以帮助Qt Quick Designer。例如,普通的QML文件可以包含JavaScript表达式,但Qt Quick Designer很难处理这些表达式。另一方面,普通QML并没有那么难,更接近于与.ui文件相当的小部件—一个在用户界面中详细描述一组项目的文档,而不是它们背后的逻辑 特色: 经典的小部件

据我所知,.qml文件可用于定义UI,它似乎覆盖了UI.qml文件中写入的任何内容。 那么,ui.qml文件的具体用途是什么


我正在将Qt5与Qt Creator一起使用。

存在
.ui.qml
文件以帮助Qt Quick Designer。例如,普通的QML文件可以包含JavaScript表达式,但Qt Quick Designer很难处理这些表达式。另一方面,普通QML并没有那么难,更接近于与
.ui
文件相当的小部件—一个在用户界面中详细描述一组项目的文档,而不是它们背后的逻辑

特色:

经典的小部件设计器是围绕声明形式和命令逻辑之间的区别构建的。声明性表单是可设计的,并存储在.ui文件中

在Qml中,很容易混合声明性代码和命令式代码。如果向Qml文件中添加命令式指令(影响视觉方面),它们不再是纯粹的声明性指令,视觉编辑器中的视觉表示将中断。可视化编辑器需要一种将可视化描述转换回文本描述的方法。对于命令式代码,这通常是不可能的,Qt Quick Designer甚至不尝试

文件规定:

自Qt5.4以来,文档也可以具有文件扩展名“.ui.qml”。QML引擎像处理标准.QML文件一样处理这些文件,并忽略扩展名的.ui部分。Qt Creator将这些文件作为Qt Quick Designer的UI表单处理。这些文件只能包含Qt Creator定义的QML语言的子集

:

您可以使用Qt Creator向导创建文件扩展名为.UI.qml的UI表单。UI表单包含QML语言的纯声明性子集。建议您在设计模式下编辑表单。但是,将项目导出为别名属性是一项仅用于商业用途的功能,因此,如果您使用的是Qt Creator的开源版本,则必须使用编辑模式。Qt Creator通过显示错误消息来强制使用受支持的QML功能

不支持以下功能:

  • JavaScript块
  • 函数定义
  • 函数调用(qsTr除外)
  • 纯表达式以外的其他绑定
  • 信号处理器
  • 根项目以外的其他项目中的状态
  • 不是从QQuickItem或Item派生的根项
不支持以下类型:

  • 行为
  • 装订
  • 帆布
  • 组成部分
  • 着色效果
  • 计时器
  • 转化
  • 过渡