Skip to content

German

A forum for those speaking German
718 Topics 3.6k Posts
  • SQL Abfrage

    Unsolved
    2
    0 Votes
    2 Posts
    407 Views
    jsulmJ

    @QLisa Schaue dir die Dokumentation an https://doc.qt.io/qt-5/qsqlquery.html
    Speziell "Approaches to Binding Values"
    Dort sind auch gleich Beispiele.

  • Qt 5.14.2 MySQL QMYSQL Driver not loaded

    Unsolved
    4
    0 Votes
    4 Posts
    669 Views
    T

    Etwas spät, aber falls es noch etwas hilft: Ich stelle vorkompilierte QMYSQL Treiber-DLLs auf Github zur Verfügung: https://github.com/thecodemonkey86/qt_mysql_driver/releases

    die qsqlmysql.dll (Release) bzw. qsqlmysqld.dll (Debug) muss in den sqldrivers-Unterordner, daneben wird noch die libmysql.dll (kommt von der mysql.com Webseite) benötigt (z.B. im gleichen Verzeichnis wie die exe-Datei des Projekts)

  • 0 Votes
    8 Posts
    1k Views
    jsulmJ

    @projectbavaria Ging es nicht darum die gelesenen Daten in eine Datei reinzuschreiben? Wenn nicht, dann sollte auch nicht von einer Datei die Rede sein, da es sonst nur verwirrt.
    Also, was ist das: "haben wir versucht mit QFile aber es funktioniert nicht, Qt gibt meldung raus das es keine file gibt bzw. empty"?
    Wo wird in dem Code irgendwas mit QFile gemacht?

    Wie groß ist outByteArray und was ist drin?

  • Türkisches i unter Windows. Bug?

    Unsolved
    5
    0 Votes
    5 Posts
    537 Views
    H

    @J-Hilk Danke für die Rückmeldung zu MacOS! Also dort gleich wie unter Windows.
    Interessant ist aber folgendes: "i̇ sieht aber anders aus als i, und ist auch ein anderes Zeichen." Habe mal dieses i aus Deinem Post untersucht: Es besteht aus zwei Zeichen: U+0069 und U+0307. Erstes ist das normale kleine i, das U+0307 ist ein kombinierender Punkt oberhalb. Wenn dann das kleine i in ein großes I verwandelt wird und der kombinierende Punkt oben erhalten bleibt, stimmt die Sache wieder. Schön ist aber was anders. :-)

    Soweit ich weiß, gibt es nur ein Unicode-Zeichen "Latin Small Letter I", nämlich auf Position U+0069. Und dieses sollte durch toUpper() zu "Latin Capital Letter I with Dot Above" (U+0130) werden, wenn die Locale Türkisch verwendet wird, was unter Linux, aber nicht unter Win und offenbar auch nicht unter Mac funktioniert.

    Für den Bugreport muss ich mich erst einlesen, das scheint eine aufwendige Sache zu sein, da kann man nicht mal so einfach was posten. Inzwischen behelfe ich mir durch den Workaround

    turkishword.replace("i", "İ"); turkishword = QLocale("tr_TR").toUpper(turkishword);
  • Build / Debug Probleme unter openSuSe

    Unsolved
    5
    0 Votes
    5 Posts
    403 Views
    GerhardG

    Hallo,

    ein Nachtrag: unter Gnome läuft alles einwandfrei, nur KDE macht Probleme.

    Hat jemand eine Vermutung warum das unter KDE nicht klappt ?

  • Signal unter Windows nicht vorhanden unter Linux schon

    Unsolved
    5
    0 Votes
    5 Posts
    518 Views
    M

    @jsulm

    Als Compiler verwende ich den MinGW 7.3-64.

    QObject::connect(RpcClient, &QJsonRpcAbstractSocket::messageReceived, std::bind(&CacheListePrivate::MsgRecieved, this, std::placeholders::_1));

    Damit kommt die selbe Fehlermeldung. Was mich wundert, ist, dass meine selbst erstellten Klassen ohne diesem Fehler funktionieren.

    gruss
    martin

  • QAbstractTableModel / QStyledItemDelegate

    Unsolved
    1
    0 Votes
    1 Posts
    224 Views
    No one has replied
  • Unterscheidung mehrere QPushbutton in der click() Methode

    Moved Unsolved
    2
    0 Votes
    2 Posts
    262 Views
    jsulmJ

    @Qt2108 sender() ist eine Möglichkeit.
    Eine schönere sind Lambda-Funktionen:

    connect(someButton, &QPushButton::click, [someButton, this]() { click(someButton); }); connect(someOtherButton, &QPushButton::click, [someOtherButton, this]() { click(someOtherButton); });
  • Unittest in c++ für folgende qml code Abschnitt

    Unsolved
    1
    0 Votes
    1 Posts
    140 Views
    No one has replied
  • QT 5.12.7 GCC enthält Konfigurationsprobleme

    Unsolved
    6
    0 Votes
    6 Posts
    974 Views
    aha_1980A

    Hi @marcopasta,

    schön das es jetzt geht. Dann schließe bitte diesen Thread als SOLVED (mit TOPIC TOOLS unter deinem ersten Beitrag).

    Danke!

  • QToolButton Focus ändern

    Unsolved
    2
    0 Votes
    2 Posts
    286 Views
    R

    QEvent::HoverLeave

  • Qt d_ptr und Slots/Signals

    Unsolved
    4
    0 Votes
    4 Posts
    368 Views
    Christian EhrlicherC

    Keine Ahnung wie das in Qt4 ist - einfach mal nachschauen. Aber wenn man keinen Wert auf binärkompatibilität legen muss, braucht man auch keinen d-ptr. Und mit Qt4 würde ich nicht anfangen.

  • SQL-Tabelle AUTO_INCREMENT-Wert abfragen

    Solved
    4
    0 Votes
    4 Posts
    375 Views
    G

    Ok ich schreibe es für den Herrn Ehrlicher so um:

    QSqlQuery query("SHOW TABLE STATUS LIKE 'tblBlaBlaBla';"); //query wird inizialisiert - ausgeführt query.first(); intAutoIncr = query.value(0).toInt();

    Mein Fehler:

    intAutoIncr = query.value(10).toInt();

    liefert erwartetes Ergebnis...

  • Programm Absturz bei Listview Model Delegate

    Unsolved
    2
    0 Votes
    2 Posts
    206 Views
    M

    Also das mit dem Absturz habe ich jetzt hinbekommen. Das hatte etwas mit implicitHeigh / implicitWidth zu tun.

    Was immer noch seltsam ist, das ist der Fehler

    qrc:/components/KoordFindListItemDelegate.qml:32: TypeError: Cannot read property 'ui_Koord' of null

    beim zuweisen von

    text: geoPoint.ui_Koord

    in der Delegate ui.

    gruss
    martin

  • Frage zum Thema private implementation

    Solved
    9
    0 Votes
    9 Posts
    691 Views
    M

    @J-Hilk

    Der SLOT befindet sich als public slots (void searchDone(void)) in GeoCodePrivate.
    Da GeoCodePrivate nicht von QObject abgeleitet ist, kann ich in der Funktion doSearch auch kein Connect aufrufen. Deswegen habe ich das connect in der Klasse GeoCode mit den Lambda ausdrücken.

    gruss

    martin

  • 0 Votes
    7 Posts
    702 Views
    J.HilkJ

    @knasan said in Klassen Funktion mit Parameter und Rückgabewert in ein Thread ausführen.:

    Was ich Interessiert, warum du genau diese Reihenfolge empfiehlst, was ist die Vor- und Nachteile usw.

    Der vorgesehene Weg für ein multithreaded Programm ist der Weg über QThread.

    Es gibt im Prinzip 2 Möglichkeiten wie man mit QThread arbeitet. Die beste, und empfohlene, version ist der Worker-Object.

    Hat den Vorteil du packst deine lange Operation/Funktionen einfach in ihre eigene Klasse, und kommunizierst mit ihr über Signal und Slots. Wenn alles so funktioniert wie du es willst, gehst du hin und schiebst diese Klasse einfach über moveToThread in ihren eigenen QThread und du bist fertig.

    Kein tieferes Wissen über Qt oder multithreading, mutex, shared data etc nötig.

    Version 2 ist QThread subclass. Funktioniert ähnlich wie der Worker, nur das deine Basis Klasse QThread anstatt QObject ist.

    Nachteil, es ist super einfach was falsch zu machen, Objekte müssen in run erstellt werden, sonst leben sie im falschen Thread. Man darf nicht vergessen exec() aufzurufen, oder Signal&Slot funktionieren nicht richtig etc. pp

    QtConcurrent ist nochmal eine ebene Höher als QThread, es managed automatisch die threads in einem Threadpool. D.h die Anzahl der Threads passt sich der Anzahl der Kerne automatisch an, und du must das nicht per hand machen.
    Es ist mehr dazu gedacht das du es auf container anwendest, für filter, maping etc.
    Es ist sein eigenes Modul, und du musst es explicit in der *.pro file verlinken

    QThread:.create ist im Prinzip ein Qt-wrapper für std::async
    Es ist nicht dafür gedacht Klassen Funktionen aufzurufen, der einzige Grund, warum es bei dir und in meinem Beispiel funktioniert, ist die Nutzung des Lambdas.
    Und das ist eigentlich gecheated ;)

  • Wie krieg ich das Ding zum Laufen?

    Solved
    10
    0 Votes
    10 Posts
    2k Views
    D

    Okay läuft jetzt. Habe ein vorgefertigtes Projekt geöffnet und auch kompilieren können.
    Danke für die Hilfe.

  • Qt App auf Android?

    Unsolved
    6
    0 Votes
    6 Posts
    620 Views
    K

    @QFelix

    Du brauchst den Ordner mit deiner JDK-Installation, den SDK-Ordner und den NDK-Ordner. Dem creator eventuell einen Moment Zeit geben und er überprüft ob diese ok sind.

    Hier ein Beispiel für Windows
    22a79d06-fdda-4502-ae2a-0bbf0d5cc95c-image.png

    Oben von @J-Hilk hast du schon eine Linux (oder MacOS) -Version.

  • Embedded Programm LineEdit nicht möglich

    Unsolved
    3
    0 Votes
    3 Posts
    298 Views
    MarkusWiLinuxM

    Leider nicht. Wie schon gesagt, alles bis auf die LineEdits funktionieren.

  • 0 Votes
    2 Posts
    204 Views
    J.HilkJ

    @Galilio

    when man den Knopf drückt, wird onPressed ausgelöst und erst wenn man den Knopf/die Maus loslässt wird das onReleased Signal ausgelöst. Dicht gefolgt von onClicked