[转] qml 实现弹窗音乐播放

代码位置 教程被应用在MediaStateT中 MediaStateT Github项目地址: https://github.com/taxue-alfred/MediaStateT MediaStateT Gitee项目地址: https://gitee.com/MediaState/MediaStateT 带图片的弹窗,有物理弹跳效果 最近看到MAC上的网易云音乐播放音乐切换歌曲的时候会有一个弹窗,个人感觉这功能挺不错的,但是Windows却没有这个功能,所以就想着去实现一下,正好加一些功能,再和单片机做配合做成一整个体系算了。 效果展示 窗口调用 PopWindow 使用 Loader 控件进行了模块化,非常好用,可以随便在 Loader 里面添加控件 > 需要注意的是,添加到Loader中的控件id不能被外部所访问,所以建议在外部先加载好控件然后传递到Loader 直接在 source_component 添加 Conponent 控件即可 > 需要注意的是Component只能有一个控件,所以建议先创建一个大的Rectangle 然后再在Rectangle里面创建其他控件,最后传递Component也就传递了 Rectangle及其整个界面 代码参考 整体的代码不是很难,必要的注释都写在代码里了。需要注意的是: PopWindow.qml 的 Window 属性的 x y 可以被外部调用的时候被覆盖 窗口的大小根据 Loader 里面 content_loader 的内容大小改变 sign 这个变量只是一个标志,为了防止动画被多次执行 //PopWindow.qml import QtQuick import QtQuick.Controls 2.5 import QtQuick.Window 2.3 Window{ id: pop_window visible: false color: "transparent" // 透明度 opacity: 0 // 取消边框 flags:Qt.FramelessWindowsHint | Qt.ToolTip // 设置为非模态 modality: Qt....

2024-08-28 · 8 min · 1690 words · RamLife

QT qml release

需求 qt 中 qml 程序如何 release? 直接使用以前的 qwidget release 不行。 解决 qml qml 程序 release 需要在 qt 的命令行中增加一个参数,指明 qml 相关的在什么地方。 # windeployqt --qmldir <path-to-app-qml-files> <path-to-app-binary> windeployqt --qmldir D:/workspace/ide/qt_v6.7/cgm_test_use_ble/cgm_test_use_ble ./appcgm_test_use_ble.exe 缺少的库 qt5 正常,qt6 默认缺少的库有: libgcc_s_seh-1.dll, libstdc++-6.dll, libwinpthread-1.dll. 需要从 qt 的安装目录中找到,然后复制过去即可。需要注意的是,你编译用的是 mingw, 那么你复制的也需要是 mingw 下面的库文件。 参考 windeployqt misses some of the libraries and gets others that are not required 【问题解决】QT报错:由于找不到libgcc_s_dw2-1.dll 、libwinpthread.dll、libstdc++-6.dll,无法继续执行代码。重新安装程序可能会解决此问题。 Qml Qt程序 打包部署 QML——打包QML程序 QT QML/QUICK 打包发布程序的简单示例 Deploying QML Applications

2024-07-05 · 1 min · 69 words · RamLife

QT qml ValueAxis 找不到

需求 qt 中 qml 程序使用在使用 ValueAxis 时,报错: ValueAxis: Unknown component. (M300) 解决 解决也很简单,把 ValueAxis 修改为 ValuesAxis 。相关的都要按照 ValuesAxis 来做. 参考 ValueAxis: Unknown component. (M300) ValueAxis QML Type

2024-06-27 · 1 min · 27 words · RamLife

QT qml qchartview 闪退

需求 qt 中 qml 程序使用 chartview 导致程序闪退。 解决 解决也很简单,只要把主程序的 QGuiApplication 改为 QApplication 即可。 参考 {Qt6}{QML}{问题}QML使用ChartView导致程序闪退问题 ChartView crash when launching on Mobile - QT QML error qml application got crashed after adding chartview. Chartview crashing in QML QML “ChartView” crashing app

2024-06-26 · 1 min · 40 words · RamLife

QT qml和c++交互方式介绍

需求 qt 中 qml 和 c++ 中的类如何进行交互 解决 c++ 类注册到元对象系统 通过使用上下文属性,可以将C++对象嵌入到QML环境中。上下文属性适用于简单的应用程序。它们将您的对象导出为全局对象。在QML引擎实例化之后,上下文被暴露给QML环境。 调用函数 QQmlApplicationEngine engine; QmlCpp qmlcpp; // 先初始化一个类的实例 qmlcpp.setValue(898); // 设初值 // 将这个 C++ 实例注册到 Qml 引擎上下文中标示为 “qmlpro” 的名字, 这样 Qml 中就可以通过 qmlpro 来访问这个 C++ 实例。 engine.rootContext()->setContextProperty("qmlpro",&qmlcpp); class QmlCpp : public QObject { Q_OBJECT public: explicit QmlCpp(QObject *parent = nullptr); // Q_INVOKABLE: // Apply this macro to declarations of member functions to allow them to be invoked via the meta-object system....

2023-10-09 · 4 min · 775 words · RamLife

QT property 介绍

需求 qt 中 property 和 Q_PROPERTY 如何使用? 解决 qml 在 qml 中使用 property 来定义一个对象的属性。具体语法如下: [default] [required] [readonly] property <propertyType> <propertyName> 特性 类似于成员变量,不同的是可以初始化,并且没有public、private、 protected等限制。 可以使用 onXXXChnaged 作为这个属性的信号处理函数. property string someText onSomeTextChanged: console.log("The someText will be: " + someText) properName以一个小写字母开头,只能包括字母、数字和下划线。 propertyType可以是QML基本类型,enumeration以int来代替,也可以是QML对象类型,神奇的var类型是泛型的,支持任何类型的属性值. Item { property int theNumber property string theString property url theUrl property Item someItem property Rectangle someRectangle property var someNumber: 1.5 property var someString: "abc" property var someBool: true property var someList: [1, 2, "three", "four"] property var someObject: Rectangle { width: 100; height: 100; color: "red" } } 属性值可以被初始化,也可以使用JavaScript表达式来赋值,通过这两种方式赋值时,可以是一个静态值,也可以是一个与其它属性绑定的值。 Rectangle { id: rootRect property color theColor: "green" property color previousColor: rootRect....

2023-10-07 · 3 min · 497 words · RamLife