在main.qml新建button无法正常debug,异常图片如下:
当我把QtQuick.Templates 2.0注释取消后,不报错,但是也看不到button,请问是怎么回事?
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.5
//import QtQuick.Templates 2.0
Window {
id:window
width: 640
height: 480
visible: true
title: qsTr("Hello World")
color:"white"
Button{
x:100
y:100
text:"我是按钮"
onClicked:{
console.log("我被点击了")
}
}
}
QML中,要使用Button控件,需要导入QtQuick.Controls模块,而不是QtQuick.Templates。
QtQuick.Templates包含了各种QML控件的模板实现,但这些都是内部实现,不应该直接导入和使用。
Button控件应该这样导入:
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.5
...
去掉QtQuick.Templates的导入,改为导入QtQuick.Controls后,Button就可以正常使用了。
另外,QtQuick.Controls 2.5是Qt 5.12中引入的新版本控件模块,相比旧版本的QtQuick.Controls 1.x有诸多改进,建议使用QtQuick.Controls 2.5。