RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-520553

questions.Bloody.cpp's questions

Martin Hope
questions.Bloody.cpp
Asked: 2024-09-23 04:36:53 +0000 UTC

如何制作自己风格的qml模块?

  • 5

我正在学习 qml 并想制作自己的风格(https://doc.qt.io/qt-6/qtquickcontrols-customize.html如此处所示)。我制作了一个 qmldir 文件,将应用程序和样式 qml 文件分开,以制作我所理解的模块。也就是说,我在 App 文件夹中有应用程序文件,在 QutyStyle 文件夹中有样式。但是在编译时,QQmlApplicationEngine 告诉我没有安装 QutyStyle 模块。我开始谷歌搜索,最后我什么也做不了。我通过 QQmlApplicationEngine::appImportPath 添加了 qml 文件夹的路径,但它没有执行任何操作。我还决定查看应用程序中加载的所有 qrc,但没有找到 qmldir。当我尝试将其添加到 CMakeLists.txt 中的 QML_FILES 时,我收到一条警告,指出只有 .qml 和 .js 文件可以在那里。

出现了几个问题:

  1. 我需要在 CMakeLists.txt 中显式指定 qmldir 吗?在使用 QML_IMPORT_PATH 变量方面?

  2. 我是否需要为该样式创建一个单独的子项目,即在 qt_add_qml_module 所在位置创建 CMakeLists.txt ?

  3. 我需要将我的样式添加到 QQmlApplicationEngine 中的导入路径吗?

基本上,我该怎么做?下面我附加了文件 CMakeLists.txt 和 main.cpp

这就是带有 qml 的树的样子,在客户端文件夹(qml 文件夹所在的位置)中有 CMakeLists.txt

CMakeLists.txt

cmake_minimum_required(VERSION 3.6)
project(quty-client)

set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_AUTOUIC_SEARCH_PATHS ui/)

find_package(Qt6 COMPONENTS Core Widgets Gui Sql Concurrent Network Quick REQUIRED)
qt_standard_project_setup(REQUIRES 6.7)

#Search for sources files
file(GLOB_RECURSE QUTY_CLIENT_SOURCE_FILES * ./share/*)

#Search qml/js files in qml folder
file(GLOB_RECURSE APP_QML_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} qml/*.qml qml/*.js)
file(GLOB_RECURSE ASSETS_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} qml/assets/*)

foreach(file ${APP_QML_FILES})
    message(STATUS ${file})
endforeach()

qt_add_executable(quty-client 
    ${QUTY_CLIENT_SOURCE_FILES} ${APP_QML_FILES} ${ASSETS_FILES}) 

qt_add_qml_module(quty-client
    URI quty
    VERSION 1.0
    QML_FILES
        ${APP_QML_FILES}
    RESOURCES
        ${ASSETS_FILES}
)

include_directories(quty-client ../share/)
target_link_libraries(quty-client PRIVATE Qt6::Widgets Qt6::Quick Qt6::Gui Qt6::Core Qt6::Sql Qt6::Network Qt6::Concurrent)

主程序

#include <QApplication>
#include <QtGlobal>
#include <QtWidgets>
#include <QtQml>
#include <QStyle>

#include <Window.h>
#include <iostream>

using namespace quty;

int main(int argc, char** argv){
    QGuiApplication app(argc, argv);
    QFontDatabase::addApplicationFont("qrc:/assets/JetBrainsMono-Medium.ttf");
    QGuiApplication::setFont(QFont("JetBrains Mono Medium", 16));
    qRegisterMetaType<quty::Message>();
    qRegisterMetaType<quty::Channel>();
    qRegisterMetaType<quty::Reply>();
    qRegisterMetaType<quty::UserProfile>();
    QDirIterator it(":", QDirIterator::Subdirectories);
    while (it.hasNext()) {
        qDebug() << it.next();
    }
    QQmlApplicationEngine engine;
    engine.addImportPath("qrc:/qt/qml/quty/qml");
    engine.load((QUrl("qrc:/qt/qml/quty/qml/App/Main.qml")));
    if (engine.rootObjects().isEmpty())
        return -1;
    return app.exec();
}
c++
  • 1 个回答
  • 28 Views
Martin Hope
questions.Bloody.cpp
Asked: 2024-06-14 07:10:41 +0000 UTC

无法从sqlite数据库qt c++获取列

  • 5

我正在编写我的 Messenger,需要用户进行搜索。这是服务器上数据库的代码:

QVector<QString> Database::searchUsers(Session *session, QString begin) {
    QSqlQuery query(m_db);
    query.prepare("SELECT idUser FROM Users WHERE idUser LIKE '%1%'");
    //query.bindValue(":begin", begin);
    if (!query.exec()) {
        qCritical() << "Error while execute search users";
        qCritical() << query.lastError().text();
        return QVector<QString>();
    }
    QVector<QString> result;
    while (query.next()) {
        result.push_back(query.boundValue(0).toString());
    }
    qDebug() << "result size:" << result.size();
    for (auto i : result) {
        qDebug() << i;
    }
    return result;
}

我在控制台中得到的输出是已找到 1 个用户,但由于某种原因该列表为空(在 result.push_back... 行中)。

最初,我提出了以下请求:SELECT * FROM Users WHERE idUser LIKE '%:begin%' LIMIT 20,相应地,通过bindValue这都是bindil(然后它基本上找不到用户)

为了调试,我提出了上面代码中的请求

数据库中的数据:

表代码:

CREATE TABLE IF NOT EXISTS Users(
    idUser TEXT UNICAL PRIMARY KEY,
    username TEXT,
    hashPassword TEXT,
    icoPath TEXT
);

CREATE TABLE IF NOT EXISTS Chats(
    msgNamespaceId TEXT UNICAL PRIMARY KEY,
    firstMember TEXT,
    secondMember TEXT,
    FOREIGN KEY(firstMember) REFERENCES Users(idUser) ON UPDATE CASCADE ON DELETE CASCADE,
    FOREIGN KEY(secondMember) REFERENCES Users(idUser) ON UPDATE CASCADE ON DELETE CASCADE
);

CREATE TABLE IF NOT EXISTS Messages(
    id TEXT UNICAL PRIMARY KEY,
    value TEXT,
    ownerId TEXT,
    timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
    msgNamespaceId TEXT,
    FOREIGN KEY(ownerId) REFERENCES Users(idUser) ON DELETE CASCADE ON UPDATE CASCADE,
    FOREIGN KEY(msgNamespaceId) REFERENCES Chats(msgNamespaceId) ON DELETE CASCADE ON UPDATE CASCADE
);

服务器是多线程的,当然,如果这有任何影响的话(注册和登录工作的请求,所以这不太重要)

请帮帮我

c++
  • 1 个回答
  • 30 Views
Martin Hope
questions.Bloody.cpp
Asked: 2024-05-21 16:31:53 +0000 UTC

如何让qtextedit高度调整向上

  • 5

我正在编写我的信使,我需要一行来打印消息。我想要像电报/不和谐中那样的行为。在那里,当您打印文本时,小部件会增加到一定的大小。我尝试通过将最小高度设置为 30、最大高度设置为 150 来执行相同操作,结果小部件只是拉伸了 100 像素

有 2 个问题:

  1. 如何使小部件最初为 30 像素,如果没有足够的空间,则增加它?
  2. 怎样才能让它向上生长呢?

对我来说就是这样:

在此输入图像描述

关于不和谐:

在此输入图像描述

c++
  • 1 个回答
  • 27 Views
Martin Hope
questions.Bloody.cpp
Asked: 2023-11-19 03:43:57 +0000 UTC

可以免费使用qt Creator吗?

  • 5

我在 vs 2022 中使用 qt 扩展制作了我的项目。一切都很好,然后 .ui 文件停止打开。好吧,我尝试打开qt Designer,但它说我没有许可证。我正在为自己写一个应用程序,即 不用于商业目的。我可以免费获得此许可证吗?还是我必须购买/下载破解版?

如果有的话我住在俄罗斯

c++
  • 1 个回答
  • 61 Views
Martin Hope
questions.Bloody.cpp
Asked: 2023-03-04 23:06:22 +0000 UTC

静态库中的 OOP

  • 5

我最近学习了静态/动态库,我有一个问题:如何在静态库中创建一个类??我为图书馆写了以下内容:

extern "C"
{
    struct Sum
    {
        int sum(int a, int b)
        {
            return a + b;
        }
    };
}

这是为了使用:

#include <iostream>

extern "C"
{
    struct Sum
    {
        int sum(int, int);
    };
}

int main()
{
    Sum sum;
    std::cout << sum.sum(1, 1) << std::endl;
    return 1;
}

但是不行,链接器错误:LNK2001: unresolved external symbol "public: int __cdecl Sum::sum(int,int)" (?sum@Sum@@QEAAHHH@Z)

你怎么能在静态库中做普通的 oop?

c++
  • 1 个回答
  • 49 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5