Skip to content

German

A forum for those speaking German
719 Topics 3.6k Posts
  • Zwischenstände einer QList in einer weiteren QList anlegen

    Solved
    8
    0 Votes
    8 Posts
    1k Views
    H
    @jsulm @J-Hilk Danke für eure Hilfe. Durch den Vorschlag mehrere Instanzen zu machen ist mir eine Lösung für meinen speziellen Fall eingefallen. Ich nutze nun eine dritte QList, die als Default Liste dient, um neue Instanzen anzulegen.
  • Wie mit QGraphicsView GeoKoordinaten lat/lon zeichnen/skalieren

    Unsolved
    1
    0 Votes
    1 Posts
    291 Views
    No one has replied
  • Qt 5.12.6 native auf raspberry pi 3 compilieren?

    Unsolved
    2
    0 Votes
    2 Posts
    400 Views
    K
    @Chucktest Hallo und willkommen beim devnet Forum Eventuell wäre es sinnvoll die eigentlichen Probleme direkt zu beschreiben. Dann kann dir auch jemand einen Rat geben.
  • PushButtoin in ein 2D Array?

    Unsolved
    2
    0 Votes
    2 Posts
    396 Views
    jsulmJ
    @Martin-H said in PushButtoin in ein 2D Array?: Gridlayout erzeugt, welches ein 3x3 dann solltest du auch in der Lage sein QPushButton* in einen 2D Vector zu packen, oder? Wegen Slot: benutze Lambda-Functions, dann kannst du auch x/y für jeden Button mit nehmen.
  • Hilfe bei Erstellung MYSQL Treiber Qt 5.12.6 (64-Bit) MSVC2017 64bit

    Solved
    3
    0 Votes
    3 Posts
    610 Views
    Christian EhrlicherC
    Hier ist die korrekte Anleitung: https://doc-snapshots.qt.io/qt5-5.14/sql-driver.html
  • Qtwidget: Text ausgeben

    Solved
    7
    0 Votes
    7 Posts
    2k Views
    K-StrK
    @jsulm , danke für Deinen Tipp. Letztendlich habe ich es mit QTimer hingekriegt. Super Hilfe!!!
  • Lauffähiges C++ - Programm auf Widget einbetten

    Solved
    6
    0 Votes
    6 Posts
    1k Views
    L
    So. Nach langem Suchen bin ich nun soweit, dass er mir das Programm "extApp" startet. Sowohl in einem eigenene Fenster, als auch auf dem StackedWidget, das auf dem MainWindow liegt. Ich möchte kein eigenes Fenster von "extApp". Das Programm zeigt mir zwar die Felder und das Layout an (links), ich kann aber die App aber nur im 2. Fenster bedienen. Hat jemand einen Plan? Links MainWindow mit stackedWidget Rechts eigener Prozess von extApp [image: 098c2b18-37e1-4be8-866b-0591812198c6.png] void MainWindow::on_pushButton_3_clicked() { QProcess *p = new QProcess(); p->start("extApp"); char buff[500]; buff[0]=0; p->waitForStarted(); p->waitForReadyRead(); p->read(buff,100); unsigned long long id1=atoll(buff); auto *window = QWindow::fromWinId((WId)id1); Q_ASSERT(window); QWidget *widget = QWidget::createWindowContainer(window); ui->stackedWidget->setCurrentIndex(1); ui->stackedWidget->setCurrentWidget(widget); } Mir würde auch schon genügen, wenn ich eine externe App am akt. MainWindow oder Widget andocken könnte.
  • Qt Maintenance Tool läuft auf Fehler

    Unsolved
    1
    0 Votes
    1 Posts
    272 Views
    No one has replied
  • Qt Virtual Keyboard Darstellungsproblem

    Unsolved
    1
    0 Votes
    1 Posts
    414 Views
    No one has replied
  • Linux App in QtCreator einbinden

    Solved
    5
    0 Votes
    5 Posts
    826 Views
    L
    Danke für die Info. Hab ich mir mal angesehen und entschieden, dass ich die QT-Tastatur nehme. Ist ja alles drin was man braucht :-)
  • In Mainwindow alle Dialogs Schließen

    Unsolved
    9
    -1 Votes
    9 Posts
    2k Views
    A
    Hi, Die Dialogs haben bestimmt einen bzw. mehrere parents. z.B. Wenn getriggert wird, über alle children laufen QObjectList localChildren = MyMainWindow->children(); close aufrufen myObj->close(); delete aufrufen qDeleteAll(localChiildren);
  • Qt Widget läuft nicht auf einem RPI3 mit LCD-Display

    Unsolved
    2
    0 Votes
    2 Posts
    624 Views
    K-StrK
    Hallo, hier noch die Fehlermeldungen die ich beim Starten eines Widgets bekomme sowie die Kommandos für das Einrichten des Raspberry und Linux Hostes:: Zunächst kommt mal diese Warnung: qglobal.h:45:12: error: 'type_traits' file not found mainwindow.cpp:1:1: note: in file included from /home/kurt/Widget/mainwindow.cpp:1: Beim Starten des Widgets bekomme ich diesen Fehler: Unable to query physical screen size, defaulting to 100 dpi. To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters). Attribute Qt::AA_ShareOpenGLContexts must be set before QCoreApplication is created. Was heist das in der letzten Zeile? Muß ich da was konfigurieren in dem Module "main.cpp"? Und nun wird zwar das Widget angezeigt aber die Eingabe über den Touch-Screen wird nicht erkannt. Hier der update auf dem Raspberry: echo -e ${Green}"first make rpi-update"${Reset} sudo rpi-update sudo reboot sudo apt-get update sudo apt-get build-dep qt4-x11 sudo apt-get build-dep libqt5gui5 sudo apt-get inst~all libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0 sudo apt-get install ttf-dejavu gdbserver echo -e ${Green}"Prepare target folder"${Reset} sudo mkdir /usr/local/qt5pi sudo chown pi:pi /usr/local/qt5pi und auf dem Linux Host: ssh-keygen -t rsa -C pi@192.168.180.42 -N "" -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub | ssh -o StrictHostKeyChecking=no pi@192.168.180.42 "mkdir -p .ssh && chmod 700 .ssh && cat >> .ssh/authorized_keys" echo -e ${Green}"Install packages"${Reset} sudo apt-get install git python build-essential --yes echo -e ${Green}"Create working folder and set a toolchain"${Reset} mkdir ~/raspi cd ~/raspi git clone https://github.com/raspberrypi/tools echo -e ${Green}"Create and configure a sysroot"${Reset} mkdir sysroot sysroot/usr sysroot/opt rsync -avz pi@192.168.180.42:/lib sysroot rsync -avz pi@192.168.180.42:/usr/include sysroot/usr rsync -avz pi@192.168.180.42:/usr/lib sysroot/usr rsync -avz pi@192.168.180.42:/opt/vc sysroot/opt echo -e ${Green}"adjust our symbolic links in sysroot to be relative"${Reset} wget https://raw.githubusercontent.com/riscv/riscv-poky/master/scripts/sysroot-relativelinks.py chmod +x sysroot-relativelinks.py ./sysroot-relativelinks.py sysroot echo -e ${Green}"Download Qt"${Reset} wget http://download.qt.io/official_releases/qt/5.12/5.12.5/single/qt-everywhere-src-5.12.5.tar.xz tar xvf qt-everywhere-src-5.12.5.tar.xz cd qt-everywhere-src-5.12.5 echo -e ${Green}"Configure Qt for cross compilation"${Reset} ./configure -release -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot ~/raspi/sysroot -opensource -confirm-license -skip qtwayland -skip qtlocation -skip qtscript -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -no-use-gold-linker -v -no-gbm echo -e ${Green}"run 'make -j4'"${Reset} make -j4 echo -e ${Green}"run 'make install'"${Reset} make install echo -e ${Green}"eploye to your Raspberry Pi using the rsync command"${Reset} cd ~/raspi rsync -avz qt5pi pi@192.168.180.42:/usr/local Vielleicht hilft das bei der Analyse des Problems. Vielen Dank!
  • Eigene CMainwindow - Klasse in QT-Creator einbinden

    Solved
    2
    0 Votes
    2 Posts
    521 Views
    J.HilkJ
    @Linex Bei der Class Information kann ich die Base class auswählen. meines Wissens nach nicht, die Auswahl von dem Wizard ist begrenzt. Vielleicht ginge es, wenn du deine CMainWindow als plugin exportierst oder so. Vielleicht weiß wer anderes mehr. Mein QtCreator Wissen ist begrenzt 😆 Ansonsten, einfach nach erstellen QMainWindow mit CMainWindow als basis Klasse austauschen, sind 2 Stellen in den 2 Dateien
  • Anfänger Fragen zwecks Version

    Unsolved
    1
    0 Votes
    1 Posts
    326 Views
    No one has replied
  • QSqlRelationalTablemodel - setFilter

    Unsolved
    2
    0 Votes
    2 Posts
    539 Views
    JonBJ
    @moppi83 Wenn ich es gut verstehen habe: https://doc.qt.io/qt-5/qsqlrelationaltablemodel.html#details The reference table name is aliased. The alias is the word "relTblAl" and the relationed column index joined by an underscore (e.g. relTblAl_2). The alias can be used to filter the table (For example, setFilter("relTblAl_2='Oslo' OR relTblAl_3='USA'")).
  • C++ / Qt - Funktionsbibliothek mit deutschsprachigen Beschreibungen

    Unsolved
    2
    0 Votes
    2 Posts
    546 Views
    K
    @BlackyDragon Hallo und willkommen im Devnet-Forum Soweit ich weiss, bleiben dir nur unabhängige Seiten für deutsche Qt-Dokumentationen https://lmgtfy.com/?q=qt-beschreibung+in+deutsch oder Google-Translate PS: Aussage stimmt nicht ganz. Es gibt noch deustche Seiten bei https://wiki.qt.io/Main/de
  • main Funktion mit Standard C++ zu eine Sheduling umbauen

    Unsolved
    3
    0 Votes
    3 Posts
    787 Views
    G
    @jsulm said in main Funktion mit Standard C++ zu eine Sheduling umbauen: Simplest but not very elegant solution would be a loop with sleep() inside. Do you use any other libraries/frameworks? yes Rhapsody "Diese wird mit dem Brocker kommuniziert" - how? the Brocker will simulate the Hardware
  • QML: Kontextmenü von TextField bleibt englisch, soll aber deutsch sein

    Solved
    3
    0 Votes
    3 Posts
    531 Views
    R
    Vielen Dank für den Tipp, das brachte mich auf die richtige Spur. Der Pfad in QLibraryInfo::location(QLibraryInfo::TranslationsPath) war auf dem zweiten System nicht verfügbar. Ich habe den Pfad in der qt.conf entsprechend angepasst, siehe: https://doc.qt.io/qt-5/qt-conf.html Vielen Dank Christian.
  • Abgeleitete Klasse von QMdiSubWindow - setContentsMargins() funktioniert nicht

    Unsolved
    2
    0 Votes
    2 Posts
    388 Views
    ?
    Ich habe jetzt nach vielen Herumprobieren die Lösung gefunden. Die Reihenfolge ist anscheinend wichtig: Funktionierendes Schema: QLayout anlegen/erstellen (new) Layout einem Widget zuweisen Mit widget->layout() die entsprechenden Parameter setzen Nicht funktionierendes Schema: QLayout anlegen/erstellen (new) Parameter setzen Layout einem Widget zuweisen Und außerdem haben die Funktionen setMargin() und setSpacing() gefehlt. Anbei der funktionierende Codeabschnitt void WindowMDI::createLayout(void): void WindowMDI::createLayout(void) { QLayout *oldLayout; QVBoxLayout *ptrLayout; m_menubar = nullptr; m_statusbar = nullptr; oldLayout = layout(); if (oldLayout != nullptr) delete oldLayout; m_layoutMain = new QVBoxLayout(this); m_layoutCenter = new QHBoxLayout(); m_layoutCenter->setContentsMargins(0, 0, 0, 0); m_layoutCenter->setSpacing(0); m_layoutCenter->setMargin(0); m_widgetLeft = new QWidget(this); ptrLayout = new QVBoxLayout(m_widgetLeft); m_widgetLeft->setLayout(ptrLayout); m_widgetLeft->setContentsMargins(0, 0, 0, 0); m_widgetLeft->layout()->setContentsMargins(0, 0, 0, 0); m_widgetLeft->layout()->setSpacing(0); m_widgetLeft->layout()->setMargin(0); m_widgetCenter = new QWidget(this); ptrLayout = new QVBoxLayout(m_widgetCenter); m_widgetCenter->setLayout(ptrLayout); m_widgetCenter->setContentsMargins(0, 0, 0, 0); m_widgetCenter->layout()->setContentsMargins(0, 0, 0, 0); m_widgetCenter->layout()->setSpacing(0); m_widgetCenter->layout()->setMargin(0); m_widgetRight = new QWidget(this); ptrLayout = new QVBoxLayout(m_widgetRight); m_widgetRight->setLayout(ptrLayout); m_widgetRight->setContentsMargins(0, 0, 0, 0); m_widgetRight->layout()->setContentsMargins(0, 0, 0, 0); m_widgetRight->layout()->setSpacing(0); m_widgetRight->layout()->setMargin(0); m_layoutCenter->addWidget(m_widgetLeft); m_layoutCenter->addWidget(m_widgetCenter); m_layoutCenter->addWidget(m_widgetRight); m_widgetMenubar = new QWidget(this); ptrLayout = new QVBoxLayout(m_widgetMenubar); m_widgetMenubar->setLayout(ptrLayout); m_widgetMenubar->setContentsMargins(0, 0, 0, 0); m_widgetMenubar->layout()->setContentsMargins(0, 0, 0, 0); m_widgetMenubar->layout()->setSpacing(0); m_widgetMenubar->layout()->setMargin(0); m_widgetToolbar = new QWidget(this); ptrLayout = new QVBoxLayout(m_widgetToolbar); m_widgetToolbar->setLayout(ptrLayout); m_widgetToolbar->setContentsMargins(0, 0, 0, 0); m_widgetToolbar->layout()->setContentsMargins(0, 0, 0, 0); m_widgetToolbar->layout()->setSpacing(0); m_widgetToolbar->layout()->setMargin(0); m_widgetCommand = new QWidget(this); ptrLayout = new QVBoxLayout(m_widgetCommand); m_widgetCommand->setLayout(ptrLayout); m_widgetCommand->setContentsMargins(0, 0, 0, 0); m_widgetCommand->layout()->setContentsMargins(0, 0, 0, 0); m_widgetCommand->layout()->setSpacing(0); m_widgetCommand->layout()->setMargin(0); m_widgetStatusbar = new QWidget(this); ptrLayout = new QVBoxLayout(m_widgetStatusbar); m_widgetStatusbar->setLayout(ptrLayout); m_widgetStatusbar->setContentsMargins(0, 0, 0, 0); m_widgetStatusbar->layout()->setContentsMargins(0, 0, 0, 0); m_widgetStatusbar->layout()->setSpacing(0); m_widgetStatusbar->layout()->setMargin(0); m_layoutMain->addWidget(m_widgetMenubar); m_layoutMain->addWidget(m_widgetToolbar); m_layoutMain->addLayout(m_layoutCenter); m_layoutMain->addWidget(m_widgetCommand); m_layoutMain->addWidget(m_widgetStatusbar); setLayout(m_layoutMain); setContentsMargins(0, 0, 0, 0);; layout()->setContentsMargins(0, 0, 0, 0); layout()->setSpacing(0); layout()->setMargin(0); }
  • TableWidget clicked() und doubleClicked()

    Solved
    9
    0 Votes
    9 Posts
    1k Views
    GerhardG
    Hallo, hier nochmals kurz eine Darstellung des Sachverhaltes: Tatsächlich wird das doubleClicked Signal in eine Abfolge von clicked() - doubleClicked() - clicked() Signal aufglöst, sofern innerhalb der entsprechenden Slots nichts am Zustand des TableWidgets geändert wird. Wird jedoch wie in meinem Fall innerhalb der Abarbeitung des doubleClicked() das entsprechende TableWidget disabled, so entfällt das letzte clicked() Signal.