门户
书籍
教程
论坛
问答
下载
签到
个人空间
帐号
自动登录
找回密码
密码
登录
立即注册
账号
自动登录
找回密码
密码
登录
立即注册
请绘制轨迹完成人机验证
由vaptcha提供技术支持
登录
注册
搜索
搜索
搜索
热搜
qml
quick
串口
输入中文
数据库
arm
百度地图
qt聊天
QT安装
安装
多窗口
中文乱码
聊天
局域网
鼠标
QT
图片
乱码
rs485通讯
多线程
android
多文档编辑器
本版
用户
本版
用户
【HUX】问题互助平台
博客
动态
好友
帖子
收藏
道具
勋章
任务
淘帖
动态
日志
相册
分享
记录
留言板
群组
门户
导读
排行榜
设置
我的收藏
退出
Qt开源社区
›
精华区(请在“有问必答”发帖)
›
有问必答
›
QML和QtQuick
›
第一次用qml就碰上问题
发布主题
返回列表
第一次用qml就碰上问题
4
回复
6747
查看
[复制链接]
gtdc87
当前离线
积分
13
gtdc87
尚未签到
来源:
2016-2-18 10:44:37
显示全部楼层
|
阅读模式
1
Qter豆
本帖最后由 gtdc87 于 2016-2-18 10:47 编辑
刚开始学qml,写了个最简单的例子,但是执行失败。大家帮我看看原因吧。
1. 新建一个qml application
2. 里面只有一个main.qml,没有MainForm.ui.qml,这是第一个疑问。
内容如下:
import QtQuick 2.3
import QtQuick.Controls 1.4
import QtQuick.Window 2.2
Window {
width: 640
height: 480
visible: true
color: "gray"
Button {
id: btn
text: qsTr("Press me")
anchors.centerIn: parent
onClicked: msg_dlg.open();
}
}
3. 新建一个qml文件,文件名为SettingDlg.qml。
内容如下:
import QtQuick 2.0
import QtQuick.Dialogs 1.2
Item {
property alias msg_dlg: msgdlg
MessageDialog {
id: msgdlg
title: qsTr("Attention")
text: qsTr("Hello world!")
onAccepted: console.log(qsTr("clicked..."))
}
}
4. 运行起来,点击按钮,提示
qrc:/main.qml:15
: ReferenceError: msg_dlg is not defined
不知道这个属性别名有什么问题,大家帮忙看看。
我来回答
回复
使用道具
举报
cai901022
当前离线
积分
450
cai901022
累计签到:344 天
连续签到:1 天
2016-2-18 13:10:07
显示全部楼层
msg_dlg这个没有声明啊,程序不知道是什么鬼。你这个msg_dlg是不是放在了MainForm.ui.qml里面声明了?
回复
使用道具
举报
gtdc87
当前离线
积分
13
gtdc87
尚未签到
2016-2-18 13:50:42
显示全部楼层
我新建的qt quick application没有MainForm.ui.qml这个文件,我把msg_dlg放在我自己写的qml中,是个属性别名。
回复
使用道具
举报
Joey_Chan
当前离线
积分
1419
Joey_Chan
尚未签到
2016-2-18 20:16:06
显示全部楼层
二楼请不要误导别人。。。。。。。。。。
main.qml 里面要加上这个:
SettingDlg {
id: setting
}
//然后onclicked 里面
setting.msg_dlg.open()
复制代码
回复
使用道具
举报
yafeilinux
当前离线
积分
2051
yafeilinux
累计签到:1569 天
连续签到:1 天
2016-2-19 08:18:10
显示全部楼层
如楼上所说,需要使用SettingDlg.qml的文件名作为组件名进行使用。
回复
使用道具
举报
返回列表
发表新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满)
我知道了