我可以在 Qt 应用程序中使用实际的 iOS 控件吗?

Can I use actual iOS controls inside a Qt application?

有没有办法在 Qt 应用程序中使用实际的 iOS 控件?作为一个具体的例子,有一个 switch control in iOS that has a very specific look that is quite different from the look of the Qml switch and I don't there is a QWidget that does quite the same thing (QCheckBox 可能是最接近的)。

在我构建所有 UI 部分的地方创建我自己的控件,所以它看起来像实际的 iOS 控件不是一个选项,因为我得到的要求之一是生成的程序应该匹配它所安装的 iOS 版本的控件样式(当然是在合理范围内)。

一些想法:

  1. 看看是否有办法 iOS 将控件渲染到屏幕外的缓冲区。然后将其用作控件的图像。

  2. 为本机控件创建一个代理,并将其覆盖在您的 UI 之上。代理应该将位置从 QML 中继到本机,并将大小和状态从本机中继到 QML。

  3. 有一个短暂的(可能只有一帧)屏幕,以您需要的状态呈现您想要的控件,然后捕获它。这只有在您无法将控件渲染到屏幕外时才有意义。