Skip to content

QML and Qt Quick

Looking for The Bling Thing(tm)? Post here!
20.0k Topics 77.3k Posts
  • Import says QML module not found.

    Unsolved
    11
    0 Votes
    11 Posts
    4k Views
    R
    Okay. Thanks. I would have tried to use the QML2 path!
  • Customiza ComboBox in QML

    Solved
    8
    0 Votes
    8 Posts
    770 Views
    ?
    It's work. Thanks Result [image: Screenshot_20211128_143000.jpg]
  • Memory leak bug with Qt Quick (QT 6.2.1)

    Unsolved
    5
    0 Votes
    5 Posts
    705 Views
    M
    Thanks for the tip on Stackoverflow, I can see that QT6Guid is Allocating that memory but never releases it. Also there is Unresolved Allocation which I don't know what it is. The test was : Set the window to minimum size Take Memory Snapshot Resize the window by dragging the mouse multiple time Take a Memory Snapshot Repeat One more time Anybody have a clue on what's happening? Unresolved Allocation Qt6Guid.dll!QGles2GraphicsPipeline [image: 858fb3b1-d888-439c-923a-c05dec1c9fcb.png]
  • Qt6.2 TableView and ItemSelectionModel - Row / Column Selection Modes?

    Unsolved
    1
    0 Votes
    1 Posts
    188 Views
    No one has replied
  • coverage using TUG for qt 5.15

    Unsolved
    2
    0 Votes
    2 Posts
    257 Views
    K
    The following link provides the information about Qt /QML application coverage analysis and looking for any similar Plugins from forum. Hoping to hear soon. https://forum.qt.io/topic/61133/tug-framework-open-source-gui-unit-testing-for-qt-applications
  • Cannot choose QtQuick version in Ubuntu

    Unsolved
    1
    0 Votes
    1 Posts
    755 Views
    No one has replied
  • animation does not work as excepted in qml

    Unsolved
    2
    0 Votes
    2 Posts
    283 Views
    No one has replied
  • Dynamic component makes multiple components !!! in qml

    Solved
    3
    0 Votes
    3 Posts
    357 Views
    Q
    @GrecKo thank you for your answer. actually i did'nt know this way to make my component dinamically. i learned this thing about binding and now i know. thanks
  • Optional Javascript engine in Qt 6.1 / 6.2 - ETA?

    Unsolved
    4
    0 Votes
    4 Posts
    444 Views
    sierdzioS
    It is not available in 6.2. I don't know what the plans are, sorry. Maybe ask on qt-devel mailing list?
  • Qt quick width HorizontalHeaderView

    Unsolved
    2
    0 Votes
    2 Posts
    375 Views
    Y
    I have the same problem too, have you solved it? Still exists in Qt6.2.1
  • 0 Votes
    3 Posts
    391 Views
    V
    Issue was the name used when setting the font. Should not be using, "Liberation", but "LiberationSans". That being the case, it was also not necessary to set the style to SansSerif, as that was the only style available for the "LiberationSans" font.
  • Application Portrait and Landscape mode (Horizontal/Vertical rotation)

    Solved
    8
    0 Votes
    8 Posts
    2k Views
    SebastianMS
    I didn't add anchors.centerIn: parent in content Item (which is rotated and is changing size). In result, after rotation Item was placed in completely crazy place.
  • Qt Creator complains Unknown component M300 for items from library

    Solved
    2
    0 Votes
    2 Posts
    893 Views
    SebastianMS
    When I moved whole content of components to Module. Added qmldir and explicitly enumerate all files inside. After that set(QML_IMPORT_PATH ${CMAKE_CURRENT_LIST_DIR}/qml ${CMAKE_SOURCE_DIR}/common CACHE STRING "" FORCE) was enough for Qt Creator to find missing or unknown components.
  • Qt6.2 TableView SelectionModel / Rectangle selection not working

    Solved
    3
    0 Votes
    3 Posts
    754 Views
    denishessbergerD
    Thanks! Would be great if the example itself would also contain either interactive: false or the selectionMode.
  • Lots of TypeErrors in console when migrating to Qt6

    Unsolved
    5
    0 Votes
    5 Posts
    1k Views
    TassosT
    I am facing the same issue. It seems that the macOS style is broken. The workaround to get rid of these warnings is to force the Basic style via: QQuickStyle::setStyle("Basic");
  • Best approach for viewing C++ logging in QML

    Unsolved
    2
    0 Votes
    2 Posts
    2k Views
    W
    I did it with second approach, but it's not a string buffer but a log emitter, which just store latest log and alerts to QML by signal. The message handler LogManager::RedirectToStdout and LogManager::RedirectToFile change the log emitter when called. /// LogManager.hpp #ifndef LOGMANAGER_HPP #define LOGMANAGER_HPP #include <QObject> #include <QString> #include <QDateTime> #include <QFile> #include <QMutex> class LogEmitter : public QObject { friend class LogManager; Q_OBJECT Q_PROPERTY(QString time MEMBER m_Time NOTIFY changed) Q_PROPERTY(QString type MEMBER m_Type NOTIFY changed) Q_PROPERTY(QString message MEMBER m_Message NOTIFY changed) public: explicit LogEmitter(QObject *parent = nullptr) {} void Set(const QString &Time, const QString &Type, const QString &Message) { m_Time = Time; m_Type = Type; m_Message = Message; m_Full = m_Time + " " + m_Type + ": " + m_Message; emit changed(); } QString GetString() { return m_Full; } signals: void changed(); private: QString m_Time; QString m_Type; QString m_Message; QString m_Full; }; class LogManager : public QObject { Q_OBJECT public: static LogManager &Initialize(); LogEmitter *GetEmitter(); private: static void RedirectToStdout(QtMsgType type, const QMessageLogContext &context, const QString &msg); static void RedirectToFile(QtMsgType type, const QMessageLogContext &context, const QString &msg); private: explicit LogManager(QObject *parent = nullptr); private: static LogEmitter *m_LogEmitter; }; #endif // LOGMANAGER_HPP #include "LogManager.hpp" LogEmitter *LogManager::m_LogEmitter = new LogEmitter; namespace LogManagerVars { QDateTime DateTime; QFile File; }; LogManager &LogManager::Initialize() { LogManager *SingletonObject = new LogManager; if (qEnvironmentVariableIsEmpty(qgetenv("QTDIR"))) // If Qt creator then not write to file { qInstallMessageHandler(RedirectToStdout); } else { LogManagerVars::DateTime = QDateTime::currentDateTime(); LogManagerVars::File.setFileName(LogManagerVars::DateTime.toString("yyyy.MM.dd") + ".log"); qInstallMessageHandler(RedirectToFile); } return *SingletonObject; } LogEmitter *LogManager::GetEmitter() { return m_LogEmitter; } void LogManager::RedirectToStdout(QtMsgType type, const QMessageLogContext &context, const QString &msg) { QByteArray localMsg = msg.toLocal8Bit(); QString TypeStr; switch (type) { case QtDebugMsg: fprintf(stderr, "Debug: %s \n", localMsg.constData()); TypeStr = "DEBUG"; break; case QtInfoMsg: fprintf(stderr, "Info: %s \n", localMsg.constData()); TypeStr = "INFO"; break; case QtWarningMsg: fprintf(stderr, "Warning: %s (%s:%u)\n", localMsg.constData(), context.file, context.line); TypeStr = "WARNING"; break; case QtCriticalMsg: fprintf(stderr, "Critical: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function); TypeStr = "ERROR"; break; case QtFatalMsg: fprintf(stderr, "Fatal: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function); TypeStr = "ERROR"; abort(); } m_LogEmitter->Set(QDateTime::currentDateTime().toString("[hh:mm:ss]"), TypeStr, msg); } void LogManager::RedirectToFile(QtMsgType type, const QMessageLogContext &context, const QString &msg) { if (type != QtInfoMsg && type != QtCriticalMsg) return; static QMutex Mutex; QMutexLocker lock(&Mutex); if (!LogManagerVars::File.isOpen()) if (!LogManagerVars::File.open(QIODevice::Append | QIODevice::Text)) return; m_LogEmitter->Set(QDateTime::currentDateTime().toString("[hh:mm:ss]"), (type == QtInfoMsg ? "INFO" : "ERROR"), msg); QString Output = m_LogEmitter->GetString() + "\n"; LogManagerVars::File.write(Output.toUtf8()); LogManagerVars::File.close(); } LogManager::LogManager(QObject *parent) { } /// main.cpp #include <QGuiApplication> #include <QQmlApplicationEngine> #include <QQmlContext> #include "LogManager.hpp" int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QQmlApplicationEngine engine; const QUrl url(QStringLiteral("qrc:/src/qml/MainWindow.qml")); QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, &app, [url](QObject *obj, const QUrl &objUrl) { if (!obj && url == objUrl) QCoreApplication::exit(-1); }, Qt::QueuedConnection); LogManager *logger = &LogManager::Initialize(); LogEmitter *log = logger->GetEmitter(); engine.rootContext()->setContextProperty("log", log); engine.load(url); return app.exec(); } /// QML Popup { visible: false modal: true focus: false closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent padding: 10 ListModel { id: listModel function push(newElement) { if (listModel.count >= 50) listModel.remove(0); listModel.append(newElement); } } Component { id: delegate TextInput { selectByMouse: true text: timeStr + " " + typeStr + ": " + messageStr color: typeStr == "INFO" ? "black" : (typeStr == "ERROR" ? "red" : "blue") } } ListView { id:lst height: parent.height*0.8 width: parent.width/2 anchors.verticalCenter: parent.verticalCenter model: listModel delegate: delegate } Connections { target: log onChanged: { listModel.push({ timeStr: log.time, typeStr: log.type, messageStr: log.message }) } } }
  • how in Qt Quick draw line ???

    Unsolved 3d canvas 2d graphics quick
    2
    0 Votes
    2 Posts
    494 Views
    jsulmJ
    @timob256 I entered "Qt Quick draw line" in Google and got this: https://doc.qt.io/qt-5/qml-qtquick-pathline.html
  • How to capture Hide key event in virtual Keypad

    Solved
    2
    0 Votes
    2 Posts
    317 Views
    P
    @Praveen-Illa This was solved in another forum. Please refer to below link for the solution https://stackoverflow.com/questions/69814505/how-to-capture-hide-key-event-in-qt-virtualkeyboard
  • Missing .dll Error Running QML/PySide/QtQuick stock application.

    Unsolved
    1
    0 Votes
    1 Posts
    310 Views
    No one has replied
  • Qt Design Studio and Qt Creator Emulation Layer Fails Mac M1

    Unsolved design studio emulator qml
    1
    0 Votes
    1 Posts
    311 Views
    No one has replied