QML新建Button无法正常运行

在main.qml新建button无法正常debug,异常图片如下:
当我把QtQuick.Templates 2.0注释取消后,不报错,但是也看不到button,请问是怎么回事?

img

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。