Qt Anfängerproblem keine Menues



  • Hallo
    nachdem ich die Grundlagen von c++ nun schon einigermaßen kann, möchte ich meine ersten Versuche mit Qt starten.
    Um den Umgang mit Qt zu erlernen habe ich begonnen dieses tutorial
    project[code="http://doc.qt.io/qt-5/gettingstartedqt.html#creating-the-notepad-project"]
    nachzuarbeiten.
    Jedoch bin ich bereits nach kurzen auf ein Problem gestossen.
    Nachdem ich wie im Tutorial angegeben im QtCreator die Menueleiste bearbeitet habe (" Type here") etc.
    Bekomme ich nach dem Compilieren keine Menueleiste in meinen Programm.
    Ich habe bereits mehrfach das Tutorial duchgelesen aber keinen Hinweis auf fehlenden LIBS oder ähnliches gefunden..
    So bitte ich um Hilfe ...



  • Viel zu vage beschrieben. Meinst du, jemand hat Lust zu raten?



  • Um mein Problem besser darzustellen hier der Quelltext det **.ui Datei

    <?xml version="1.0" encoding="UTF-8"?>
    <ui version="4.0">
     <class>MainWindow</class>
     <widget class="QMainWindow" name="MainWindow">
      <property name="geometry">
       <rect>
        <x>0</x>
        <y>0</y>
        <width>400</width>
        <height>300</height>
       </rect>
      </property>
      <property name="windowTitle">
       <string>MainWindow</string>
      </property>
      <widget class="QWidget" name="centralWidget"/>
      <widget class="QMenuBar" name="menuBar">
       <property name="geometry">
        <rect>
         <x>0</x>
         <y>0</y>
         <width>400</width>
         <height>27</height>
        </rect>
       </property>
       <widget class="QMenu" name="menuDatei">
        <property name="title">
         <string>datei</string>
        </property>
        <addaction name="actionOeffnen"/>
       </widget>
       <addaction name="menuDatei"/>
      </widget>
      <widget class="QToolBar" name="mainToolBar">
       <attribute name="toolBarArea">
        <enum>TopToolBarArea</enum>
       </attribute>
       <attribute name="toolBarBreak">
        <bool>false</bool>
       </attribute>
      </widget>
      <widget class="QStatusBar" name="statusBar"/>
      <action name="actionOeffnen">
       <property name="text">
        <string>oeffnen</string>
       </property>
      </action>
     </widget>
     <layoutdefault spacing="6" margin="11"/>
     <resources/>
     <connections/>
    </ui>
    

    Im QtCreator wird eine Menuezeile mit Menuepunkten an, im fertigen Programm wird jedoch keine menueleiste angezeigt. Warum ??

    Bei Bedarf poste ich auch noch die anderen Dateien ( ***Main.cpp etc..)



  • Schaut vernünftig aus. Zeig mal deine main.cpp.

    Das ist ein Qt 5 Tutorial, und du verwendest auch Qt 5?



  • Ja ich verwende Qt 5.2 unter Ubuntu 14.04
    So hier meine Main Datei

    #include "mainwindow.h"
    #include <QApplication>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
    
        return a.exec();
    }
    

    und noch die mainwindow Datei

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    
    void MainWindow::on_actionOeffnen_triggered()
    {
    
    }
    

    Habe den verdacht das es auch an Linux liegen könnte ...
    Konnte heute vormittag ein kurzes QTCreator Projekt unter Win 7 erstellen (menueleite) dort hat es funktioniert.
    Weiß jetzt nicht ob ich etwas anders gemacht habe...
    Konnte leider nicht den Quelltext mit meinen Linux Quelltext vergleichen ...



  • Mei, du kannst ja in das setupUi reindebuggen. Ich seh jetzt keinen offensichtlichen Fehler. Wahrscheinlich ist es aber irgendwas völlig banales.



  • Sorry Mechanics
    ich weiß nicht ganz was du meinst ?
    Ich finde auf meinen Rechner keine Datei mit den Namen SetupUi und die Funktion (ui->setupUi(this) ) wirst du wohl nicht meinen oder ??
    Ratlos ...



  • Moritx schrieb:

    und die Funktion (ui->setupUi(this) ) wirst du wohl nicht meinen oder ??

    Natürlich. Die muss die GUI aus dem UI File aufbauen. Schau mal, was die macht, vielleicht siehst du einen Fehler.


  • Mod

    Evtl. musst du dass komplette Projekt mal neu bauen.
    Oder der moc erfasst deine Datei nicht richtig...



  • Danke für eure Hilfe.
    Ich werde es die Tage mal probieren, und von meinen Erfolg oder Misserfolg berichten..
    (Sorry aber arbeit und schön Wetter gehen vor...)



  • Hi,
    also ich hatte ebenfalls Probleme mit dem QtCreator unter Xubuntu als ich ihn über die Paketquellen installiert habe.
    Ich habe dann irgendwann einfach den installer für Linux von der Qt seite runtergeladen und damit installiert.
    Seither hatte ich keine Probleme mehr damit.
    Ich weiß ja nicht wie du es installiert hast, wollte es nur mal erwähnt haben 😉



  • Danke
    ich habe deinen Rat befolgt.
    und anscheinend funktioniert es jetzt ... 🕶


Log in to reply