QT6.1 - Qml 为什么ProgressBar没有对应不确定属性的动画?
QT6.1 - Qml Why does the ProgressBar not have an animation corresponding to the indeterminate property?
正如标题所说,我把ProgressBar的不定属性设为True,但是他没有任何动画
就像这样:
但是:
我用的是默认项目,代码很简单
我想知道不确定本身是否没有任何动画或者它有什么问题?
感谢您的帮助。
顺便说一句,这是我第一次在这里寻找答案,所以我希望这是一个愉快的经历:)
版本:
Qt6.1.1 MinGW 64-bit (default Debug Version)
代码如下:
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
}
}
正如标题所说,我把ProgressBar的不定属性设为True,但是他没有任何动画
就像这样:
但是: 我用的是默认项目,代码很简单
我想知道不确定本身是否没有任何动画或者它有什么问题?
感谢您的帮助。
顺便说一句,这是我第一次在这里寻找答案,所以我希望这是一个愉快的经历:)
版本: Qt6.1.1 MinGW 64-bit (default Debug Version)
代码如下:
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
}
}