首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >奇怪的图像行为(QtQuick2)

奇怪的图像行为(QtQuick2)
EN

Stack Overflow用户
提问于 2013-11-22 15:59:04
回答 1查看 227关注 0票数 2

我不知道为什么或如何发生,但Z秩序是完全混乱的。这是一个很小的例子,它显示了我的问题。测试机器运行在Windows8 x64,QT5.1上。

代码语言:javascript
复制
import QtQuick 2.0

Item {
id: root;

width: 800;
height: 800;

Background {
    id: background;

    anchors.fill: root;
    imageSource: "backgrounds/1.jpg";
}

MainView {
    id: mainView;

    anchors.fill: root;
}

BottomBar {
    id: bottomBar;

    anchors.bottom: root.bottom;
    anchors.left: root.left;
    anchors.right: root.right;
    height: 75;
}

以下是背景:

代码语言:javascript
复制
import QtQuick 2.0
import QtGraphicalEffects 1.0

Item {
id: root;

property alias imageSource: imageItem.source;

Image {
    id: imageItem;

    anchors.fill: root;
    fillMode: Image.PreserveAspectCrop;
    visible: false;
}

GaussianBlur {
    anchors.fill: root;
    source: imageItem;
    radius: 12;
    samples: 12;
    deviation: 5;
    cached: true;
}
}

MainView:

代码语言:javascript
复制
import QtQuick 2.0

Item {
id: root;

Rectangle {
    anchors.centerIn: root;
    width: 500;
    height: 500;

    color: "red";
}
}

和BottomBar:

代码语言:javascript
复制
import QtQuick 2.0

Item {
id: root;

Rectangle {
    anchors.fill: root;
    color: Qt.rgba(.07, .07, .07, .95);
}

应该是红色正方形在中间的1.jpg和75 it的高度线在它的底部,但广场是看不到的。

但是如果我删除背景元素,一切都很好。

谢谢你提前帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-23 11:11:51

对不起,但我不能运行它和检查。但是,实际上,当我阅读代码时,一切看起来都很好。我当然可以忽略一些东西。

您没有使用显式的z-排序,所以所有的东西都应该清楚地沿着顶部底部。如果你没有看到矩形,那么它不应该是一个Z轴的问题。根本看不到矩形可能是其他错误的结果。如果位置或锚被错误计算,yout矩形可能最终得到正确的Z,但Width=0,Height=0。但是,当你把它们硬编码的时候,这是不可能的。

另一件非常重要的事情是--你还没有说你在哪里观察到的效果。在实际运行的应用程序中,还是在Qt设计器或类似工具中,您都看到了吗?很多次我都见过QtDesigner 真的搞砸了--正确编写和工作的屏幕的呈现。一定要检查实时应用程序呈现的内容。

顺便说一句。你试过用QtInspector检查他的运行布局吗?它可能很快就会显示出矩形的位置。

编辑:哦-还有一件事。以防万一,试试这个:

代码语言:javascript
复制
MainView {
    id: mainView;

    anchors.fill: background;
}

BottomBar {
    id: bottomBar;

    anchors.bottom: mainView.bottom;
    anchors.left: mainView.left;
    anchors.right: mainView.right;
    height: 75;
}

我改变了锚,这样框架就可以清楚地排列了。它将布局依赖项设置为根<- Bkg <- MV <- BBar,而不是使它们都并行和独立。如果布局有效的话。如果在这个设置中没有看到矩形,那么在其他地方确实有一些东西被搞砸了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20149171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档