如何解决QT6.1 - Qml 为什么 ProgressBar 没有对应于不确定属性的动画?
正如标题所说,我将 ProgressBar 的 indeterminate 属性设置为 True,但他没有任何动画。
就像这样:
但是: 我使用的是默认项目,代码很简单。
我想知道不确定本身是否没有任何动画或有什么问题?
感谢您的帮助。
顺便说一句,这是我第一次在这里寻找答案,所以我希望这是一次愉快的经历:)
版本: Qt6.1.1 MinGW 64位(默认调试版)
代码如下:
import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15
Window {
width: 640
height: 480
visible: true
title: qsTr("Hello World")
ProgressBar{
id: proBar
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
height: 20
from: 1
to: 1
indeterminate: true
}
}
是的,这就是我的 qml 中的所有代码。文件的其余部分没有改变一个字
解决方法
我认为这与您的 Qt 版本有关,我在 Qt 中测试了您的代码。
我使用 Qt5.14
和 GCC
编译器,结果是这样的:
用于添加样式:
在main.cpp
里放这个
QQuickStyle::setStyle("Universal");
像这样:
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQuickStyle>
int main(int argc,char *argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc,argv);
QQuickStyle::setStyle("Universal");
QQmlApplicationEngine engine;
const QUrl url(QStringLiteral("qrc:/main.qml"));
QObject::connect(&engine,&QQmlApplicationEngine::objectCreated,&app,[url](QObject *obj,const QUrl &objUrl)
{
if (!obj && (url == objUrl))
{
QCoreApplication::exit(-1);
}
},Qt::QueuedConnection);
engine.load(url);
return app.exec();
}
并在 .pro
文件中添加:
QT += quick quickcontrols2
编辑代码
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.12
import QtQuick.Controls.Universal 2.12
Window {
width: 640
height: 480
visible: true
title: qsTr("Hello World")
Universal.theme: Universal.Dark
Universal.accent: Universal.Red
ProgressBar{
id: proBar
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
height: 70
from: 1
to: 1
indeterminate: true
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。