当我尝试在documention之后设置我的按钮背景时遇到很多困难。
由于某种原因,Qt找不到导入QtQuick.Controls.Styles
。我试图以多种方式导入它,但没有成功。我的最后一次尝试:
import QtQuick 2.3
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QtGraphicalEffects 1.0
Button {
id: btn
property int row
property int col
property Item buttonPreview
property bool hasPreview: true
GridLayout.row: row
GridLayout.col: col
GridLayout.colSpan: 2
GridLayout.rowSpan: 2
width: 50
height: 50
style: ButtonStyle {
background: Rectangle {
color:"white"
}
}
...
}
我遇到以下错误:
import QtQuick.Controls.Styles 1.2
代码带有下划线,表示QML module not found
Btn.qml:21:5: Cannot assign to non-existent property "style"
。奇怪的是,如果删除import QtQuick.Controls.Styles 1.2
,style: ButtonStyle {
会加下划线。
我使用Qt 5.3.2
。
我的.pro配置文件的一部分:
QT += core gui svg xml network quick gui-private qml quickwidgets widgets concurrent
TARGET = ProjectName
TEMPLATE = app
CONFIG += c++12 plugin
感谢任何想法,非常感谢您抽出时间帮助解决我的问题。
答案 0 :(得分:0)
我认为未找到模块的问题与之前版本的Qt有关。您应该使用维护工具删除Qt5.2。
之后,我在Window
中尝试了您的QML代码并且它有效(当然在删除GridLayout
之后)。
GridLayout
需要模块import QtQuick.Layouts 1.1
并已应用于Grid
,但您没有Grid
。
答案 1 :(得分:0)
尝试更改
import QtQuick.Controls.Styles 1.2
到
import QtQuick.Controls.Styles 1.0