关于用QML做OSD菜单的问题

Wziiy 2012-07-09 02:23:58
现在由于项目的需要,要用QML做一个OSD菜单,菜单有几种页面,每个页面中会有子页面,我在每个页面中会用状态做几种移动效果的选择框,状态是用一个变量来判断的。现在我遇到的问题是在父界面与子界面之间是如何实现切换的,然后状态是怎么进入的?希望有相关开发经验的大侠给予我帮助
...全文
238 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wziiy 2012-07-10
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

发信号试一下.
[/Quote]
能具体点不?
比如说我有一个main.qml和一个test.qml,其中test.qml有一个变量A,我在main.qml中用Loader动态载入test.qml到一个Rectangle里面,我现在需要用到test.qml中的内容,或者说能够直接对test.qml中的页面进行操作,比如设置FOCUS,COLOR等属性。
期望你的回答^_^
Vegata 2012-07-10
  • 打赏
  • 举报
回复
发信号试一下.
Wziiy 2012-07-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

完全可以啊 Loader是继承自Item的 可以设置它的大小和位置.
[/Quote]
再问一个问题,两个同级到qml在load后,怎么互相之间调用数据
Vegata 2012-07-10
  • 打赏
  • 举报
回复
完全可以啊 Loader是继承自Item的 可以设置它的大小和位置.
Wziiy 2012-07-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

呃 看了下Loader 有更简单的方法
Loader 有个item属性,可以用来访问现在载入的qml
具体点:

main.qml:

CSS code

import QtQuick 1.1

Rectangle {
width: 360
height: 360
color:"lightblue"
Loader
{
id:l……
[/Quote]
看来我可以结贴了,你很强悍以后多多指教
Vegata 2012-07-10
  • 打赏
  • 举报
回复
呃 看了下Loader 有更简单的方法
Loader 有个item属性,可以用来访问现在载入的qml
具体点:

main.qml:


import QtQuick 1.1

Rectangle {
width: 360
height: 360
color:"lightblue"
Loader
{
id:loader
anchors.centerIn: parent
source: "test.qml"
}
MouseArea
{
anchors.fill: parent
onClicked:
{
loader.item.color = "black"
}
}
}


test.qml

import QtQuick 1.1

Rectangle {
id:page1
width: 100
height: 62
}
Wziiy 2012-07-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

用的source 其中一个界面中有个TextInput,修改里面的文字,切换到其他界面再切换回来 TextInput里面保存的是修改后的内容,不是重新载入的.
[/Quote]
如果我想在页面的局部动态导入一个子界面能不能用Loader呢?
Vegata 2012-07-09
  • 打赏
  • 举报
回复
用的source 其中一个界面中有个TextInput,修改里面的文字,切换到其他界面再切换回来 TextInput里面保存的是修改后的内容,不是重新载入的.
Wziiy 2012-07-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

我试验了下,它会保留以前的内容.
[/Quote]
你好,你是用Loader的Source还是怎么做的?我用Source保存不了
Vegata 2012-07-09
  • 打赏
  • 举报
回复
我试验了下,它会保留以前的内容.
Wziiy 2012-07-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

界面切换可以用 QML Loader Element

状态进入没明白什么意思.
[/Quote]
你好,那个Loader能不能保留父界面的内容呢?比如说我载入子界面后,做了一些操作后要回到原来调用它的父界面,这时父界面是重新载入的还是以前的内容?
Vegata 2012-07-09
  • 打赏
  • 举报
回复
界面切换可以用 QML Loader Element

状态进入没明白什么意思.

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧