我正在尝试做一个非常简单的KDE-等离子体Widget,其中只有一个特定的数字显示。我想使这个显示的数字具有尽可能大的字体大小,这取决于包含它的父文件。下面是它现在的样子:

正如你所看到的,里面的文字有很大的空间。实际上,我想要的是类似于在KDE等离子体中找到的“日期和时间”Widget (我的小部件就在它旁边进行比较):

在这里,所显示的时间周围的空间要小得多,而且每当面板高度发生变化时也会自动调整大小。
下面是当前代码的样子:
import QtQuick 2.6
import QtQuick.Layouts 1.0
import org.kde.plasma.components 2.0 as PlasmaComponents
import org.kde.plasma.plasmoid 2.0
Item {
id: main
anchors.fill: parent
Layout.minimumWidth: units.iconSizes.large
Layout.minimumHeight: units.iconSizes.large
Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation
PlasmaComponents.Label {
id: display
anchors {
fill: parent
margins: Math.round(parent.width * 0.1)
}
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
text: foobar
font.pixelSize: 1000;
minimumPointSize: theme.smallestFont.pointSize
fontSizeMode: Text.Fit
font.bold: true
}
Timer {
some stuff
}
}我试着查看上面的日期和时间小部件的代码,用相同的定位/样式属性写下完全相同的布局/控件(这就是您在上面的代码中看到的),但是我的文本/字体大小仍然很小。
发布于 2021-01-03 17:42:56
由于@JarMan的输入,我能够意识到,由于根(item)元素的形状是方形的,所以我的文本是以小字体呈现的。
我现在认为要改变KDE-等离子面板中根元素的布局大小,需要处理Layout.preferredWidth和Layout.preferredHeight。
以下是我所做的:
item {
.
.
Layout.preferredWidth: 150 * units.devicePixelRatio
Layout.preferredHeight: 50 * units.devicePixelRatio
.
.
}注意: 150和50的值不是最终值。它基本上给出了一个关于根元素的宽度和高度应该在其中的比率(我想要一个矩形)。当等离子面板调整大小时,它也会自动调整内部内容的大小。
发布于 2021-01-03 15:09:45
我试过你的代码,它正确地调整了字体的大小。关于案文前后的间距,有两点:
margins值来控制。要获得更少的空间,请尝试Math.round(parent.width * 0.05).


编辑:
如果你真的想要字型拉伸,我会告诉你this的答案。
https://stackoverflow.com/questions/65550368
复制相似问题