我爱编程

QT5笔记

2018-08-07  本文已影响0人  你猜_19ca

QT5.0乱码问题

不能用QTextCodec解决乱码问题,需要用QStringLiteral("我是中文")

QML笔记

QML加载自定义控件提示"xxx is not type"

原因: 路径找不到
在main.cpp里把加载主窗口

engine.load(QUrl(QStringLiteral("qrc:qml/main.qml")));

修改成

engine.load(QUrl(QStringLiteral("qrc:/qml/main.qml")));

神奇的事情发生了,这样就可以直接加载qml下面的其他xxx.qml文件了

码流图片实时刷新至QML界面

配置使用Material风格界面

Rectangle自适应Layout

QT发布依赖dll

​ Qt 提供了打包工具windeployqt, 利用该工具可以很方便的解决qt的依赖问题

​ qt源码编译release后,生成exe文件,找到生成的exe文件(以下以test.exe作为例子),将exe文件拷贝到其他地方。例如: D:/test

​ 通过cd命令道test.exe存放的地方,并输入下面的命令:

windeployqt -qmldir "源码路径" test.exe --release

命令执行完后,在D:/test下将生成qt的依赖文件。 如果你的源码使用了三方库或者生成了动态链接库,那么需要手动将需要的dll文件复制到目录下,实际

​ 运行试试,是不是可以正常运行。

解决遮罩还能点击遮罩层下面控件问题

​ 遮罩层需要处理鼠标点击事件,使不往下再发送事件信号

Rectangle {
   id: progress
    anchors.fill: parent
    color: "#00000000"
    z: 99
    visible: false
    Rectangle {
        anchors.fill: parent
        opacity: 0.5
        color: "white"
    }

    Column {
        anchors.fill: parent
        //anchors.centerIn: parent
        spacing: 20
        Text {
            text: "正在计算目录: E:/a/b/..."
            color: "white"
            font.pixelSize: 20
            anchors.centerIn: parent
        }
        ProgressBar {
            indeterminate: true
            focusPolicy: Qt.NoFocus
            anchors.centerIn: parent
        }
    }
    MouseArea{
        anchors.fill: parent;
        onPressed:{
             mouse.accepted = true
        }
        drag.target: window  // root可拖动
    }
}
上一篇下一篇

猜你喜欢

热点阅读