我已经制作了一些QtQuick程序,我认为它一切正常,直到我在我的笔记本电脑上试用了它,它运行KDE,带有Breeze Dark主题。
带有标签的简单程序几乎无法读取:
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
Window
{
visible: true
Label
{
font.pointSize: 20
text: "Hello world!"
}
}
使用KDE Breeze Dark:
使用XFCE:
我也有一个定制的组合框,在KDE下它看起来很糟糕。它在默认的KDE主题上有相同的问题,只是反转了颜色:
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
import QtQuick 2.7
Window
{
visible: true
minimumWidth: 200
minimumHeight: 200
ComboBox
{
id: combo
model: ["Apple", "Banana", "Orange"]
width: 150
height: 50
delegate: ItemDelegate
{
id: item
width: parent.width
contentItem: Text
{
text: modelData
font.pointSize: 15
}
MouseArea
{
anchors.fill: parent
hoverEnabled: true
propagateComposedEvents: true
onClicked: mouse.accepted = false
onPressed: mouse.accepted = false
onReleased: mouse.accepted = false
onDoubleClicked: mouse.accepted = false
onPositionChanged: mouse.accepted = false
onPressAndHold: mouse.accepted = false
onEntered:
{
item.highlighted = true
}
onExited:
{
item.highlighted = false
}
}
}
contentItem: Text
{
id: dropDown
anchors.fill: parent
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
font.pointSize: 15
text: combo.displayText
}
}
}
使用KDE Breeze Dark:
使用XFCE:
所以,我不确定这是KDE问题还是QtQuick问题。 我想我想知道如何禁用某些程序的KDE主题,或修改我的Qml以便在主题时很好地显示我的程序。 除了一些手动实现它的提议或方法之外,我几乎找不到关于QtQuick主题的任何文献。
答案 0 :(得分:0)
您可以使用SystemPalette。例如:
Window {
visible: true
color: palette.window
Label {
font.pointSize: 20
text: "Hello world!"
}
SystemPalette {
id: palette
colorGroup: SystemPalette.Active
}
}