Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.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
C++ 在C++;和QML_C++_Qt_Qml_Qt5_Qwebview - Fatal编程技术网

C++ 在C++;和QML

C++ 在C++;和QML,c++,qt,qml,qt5,qwebview,C++,Qt,Qml,Qt5,Qwebview,我目前正在一个嵌入式linux(ARM Cortex A9)上使用Qt5.0.2的项目中工作 主UI界面在QML中开发,但我需要能够隐藏这个视图,以直接在C++中显示QWebVIEW。 < >我在C++中编写了一个简单的视图控制器,它包含了QML视图和QWebVIEW的许多实例(S/ 谢谢。也许有更好的办法,但是 您可能会这样做(我没有测试过): 注意:如果插槽实现错误(数学错误),将导致无限递归 //this code could probably be in the constructor

我目前正在一个嵌入式linux(ARM Cortex A9)上使用Qt5.0.2的项目中工作

主UI界面在QML中开发,但我需要能够隐藏这个视图,以直接在C++中显示QWebVIEW。 < >我在C++中编写了一个简单的视图控制器,它包含了QML视图和QWebVIEW的许多实例(S/<)。 隐藏/显示方法工作得很好,但是当我显示QML视图时,它非常不稳定。QML对象是可见的(或不可见的:p),而它们不应该是可见的,并且焦点也是有缺陷的。对象也在错误的位置绘制

我尝试了几种方法:

-每次显示QML视图时,初始化不同对象的focus/visible属性

-每次显示视图前都使用.setSource()

-在显示视图之前,请尝试更新()差异对象,感谢rootObject()

有人有提示在切换到C++视图后再使QML视图功能化吗?< /P>


谢谢。

也许有更好的办法,但是

您可能会这样做(我没有测试过):

注意:如果插槽实现错误(数学错误),将导致无限递归

//this code could probably be in the constructor
real widthOverHeightRatio = 2;//set this value to what you want, or what it is when user first presses shift depending on the use case.

QObject::connect(this, SIGNAL(widthChange()), this, SLOT(onWidthChanged()));
QObject::connect(this, SIGNAL(heightChanged()), this, SLOT(onHeightChanged()));

//don't forget to define these slots in the header

//implemented slots
void MyClass::onWidthChanged()
{
   if(width/height!=widthOverHeightRatio){
      height = width/widthOverHeightRatio;
   }
}

void MyClass::onHeightChanged()
{
   if(width/height!=widthOverHeightRatio){
      width = height*widthOverHeightRatio;
   }
}

我试过Qt5.1,同样的问题。不确定这是否相关,但我在使用Qt5.1.0Beta1的Ubuntu设备上遇到了一些类似的奇怪问题。试图弹出屏幕键盘(用于触摸显示器),某些组件消失,即使其可见属性仍然为真,并且按钮显示错误的渐变颜色。这似乎是一个奇怪的错误,我将尝试检查它是否已经被报告。