-
        

Seite 1 von 5 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 42

Thema: Raspbian C/C++ : fertige OpenFileDialog oder SaveFileDialog Komponenten

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.415

    Raspbian C/C++ : fertige OpenFileDialog oder SaveFileDialog Komponenten

    Anzeige

    hallo,
    aus gegebenem Anlass:

    Kennt jemand für Raspbian g++ C/C++ fertige OpenFileDialog oder SaveFileDialog Komponenten, wie man sie als Windows- oder sogar schon als MSDOS-C++-Komponenten kennt (Borland Turbo C++, C++ Builder, MS Visual C++)
    die man im eigenen C/C++ Programm #includen kann,
    die dann als PopUp-Menüs zur Verfügung stehen
    und in denen man per Cursor und Maus Files auswählen, ggf. browsen, scrollen, und ins eigene Programm übernehmen kann
    (Grafik- oder oder ASCII-Text-Screen) ?
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    41
    Beiträge
    398

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.415
    danke!
    ...und das läuft auf dem Raspi?
    Das sind ja nun irre viele Buchstaben auf der Website -

    - wie wird es auf dem Raspi installiert?

    - und kannst du mir vlt auch ein einfaches Anwendungsbeispiel für den raspi zeigen?


    Angenommen im Verz
    /home/pi/test/
    befinden sich mehrere .txt und auch andere files -
    z.B. zum Ausprobieren:
    test.txt // enthält: nur ein Test!
    mary.txt // enthält: Mary had a little lamb
    hello.txt // enthält: Hello World!

    Die habe ich bereits als Muster erstellt.


    - wie kriegt man jetzt mit QT in einem eigenen C/C++ Programm die Auswahl zum Laden / Öffnen eines Files in einem Directory?

    - nächster Schritt, ebenfalls mit QT: wenn das File geladen ist, wie geht "speichern unter..." einem anderen Namen, samt Auswahl bereits vorhandener Dateien?
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    13.01.2014
    Beiträge
    398
    Blog-Einträge
    3
    Nagel mich nicht drauf fest, aber ich meine Raspbians Visualisierung läuft mit GTK+2.
    Wäre daher naheliegend, mit GTK zu arbeiten.
    GtkFileChooserDialog

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.415
    hmm - zugegeben, das erschlägt mich jetzt ziemlich.
    Was muss ich jetzt alles machen für eine simple OpenFileDialog oder SaveFileDialog Abfrage in meinem simplen C++ Programm?
    Eine kurze Schritt-für-Schritt-Anleitung wäre nicht schlecht, um das Programm innerhalb 10-15 Minuten schreiben und starten zu können...

    Bei mir läuft die Standard-GUI von Jessie, an Grafik habe ich openVG installiert.
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    13.01.2014
    Beiträge
    398
    Blog-Einträge
    3

  7. #7
    Erfahrener Benutzer Begeisterter Techniker Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    41
    Beiträge
    398

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.415
    aha, jetzt sehe ich klarer - das hat seine eigene IDE, und man muss zwangsweise dann sein ganzes Projekt darin schreiben.

    Das wollte ich allerdings nicht.

    Ich will weiter mit Geany programmieren, und nur die OpenFileDialog oder SaveFileDialog Komponenten einbinden, damit ich einfach per Auswahl-Menüs Datei/Verzeichnis-Zugriffe (öffnen, speichern) machen kann.
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  9. #9
    Erfahrener Benutzer Begeisterter Techniker Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    41
    Beiträge
    398
    Klicke auf die Grafik für eine größere Ansicht

Name:	2016-06-16-185606_1920x1080_scrot.jpg
Hits:	10
Größe:	55,3 KB
ID:	31708


    Und hier ist der Code

    main.cpp
    Code:
    #include <QApplication>
    #include <QPushButton>
    
    #include <QWidget>
    #include <QFileDialog>
    
    #include <iostream>
    
    class Window : public QWidget
    {
    	Q_OBJECT
    public:
    	explicit Window(QWidget *parent = 0);
    
    private slots:
    	void slotButtonClicked();
    	
    private:
    	QPushButton *m_button;
    };
    
    Window::Window(QWidget *parent)
    	: QWidget(parent)
    {
    	// Set size of the window
    	setFixedSize(100, 50);
     
    	// Create and position the button
    	m_button = new QPushButton("Hello World", this);
    	m_button->setGeometry(10, 10, 80, 30);
     
    	connect(m_button, SIGNAL (clicked()), this, SLOT (slotButtonClicked()));
    }
    
    void Window::slotButtonClicked()
    {
    	QString fname = QFileDialog::getOpenFileName(
    		this,
    		tr("Open File"),
    		"/home", "");
    	std::cout << fname.toUtf8().constData() << std::endl;
    }
    
    #include "main.moc"
    
    int main(int argc, char **argv)
    {
     QApplication app (argc, argv);
     
     Window wnd;
     wnd.show();
     
     return app.exec();
    }
    CMakeLists.txt
    Code:
    cmake_minimum_required(VERSION 2.8.11)
    
    PROJECT(test C CXX)
    
    set(CMAKE_AUTOMOC ON)
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
    
    find_package(Qt5Widgets  REQUIRED)
    
    include_directories(${Qt5Widgets_INCLUDE_DIRS})
    
    SET(SRCS
    	main.cpp
    )
    
    SET(LIBS
      ${Qt5Widgets_LIBRARIES}
    )
    
    
    # Executable
    ADD_EXECUTABLE(qt-test	${SRCS} )
    
    # Linking
    TARGET_LINK_LIBRARIES(qt-test ${LIBS})

    Dateisystem schaut so aus:
    Code:
    georg@xps:/tmp$ tree qttest/
    qttest/
    ├── CMakeLists.txt
    └── main.cpp
    
    0 directories, 2 files
    Bauen
    Code:
    georg@xps:/tmp$ cd qttest
    georg@xps:/tmp/qttest$ mkdir build
    georg@xps:/tmp/qttest$ cd build/
    georg@xps:/tmp/qttest/build$ cmake ..
    -- The C compiler identification is GNU 5.3.1
    -- The CXX compiler identification is GNU 5.3.1
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /tmp/qttest/build
    georg@xps:/tmp/qttest/build$ make
    Scanning dependencies of target qt-test_automoc
    [ 25%] Automatic moc for target qt-test
    Generating main.moc
    [ 25%] Built target qt-test_automoc
    Scanning dependencies of target qt-test
    [ 50%] Building CXX object CMakeFiles/qt-test.dir/main.cpp.o
    [ 75%] Building CXX object CMakeFiles/qt-test.dir/qt-test_automoc.cpp.o
    [100%] Linking CXX executable qt-test
    [100%] Built target qt-test
    georg@xps:/tmp/qttest/build$
    AUsführen:
    Code:
    georg@xps:/tmp/qttest/build$ ./qt-test
    - - - Aktualisiert - - -

    Du must auch nicht die IDE nutzen. Ich nutze Emacs und cmake. cmake weil diese makefiles leicht zu schreiben sind und die Makros die Libs und Includes leicht finden.

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.415
    herzlichen Dank für deine Mühe!
    cmake, make und makefile habe ich allerdings noch nie genutzt und weiß auch gar nicht, was die machen und wie die funktionieren.
    Ich nutze nur die Geany Einstellungen für Compile und Build, die sehen dann bei mir so ähnlich wie hier aus:

    Geany settings for compile:

    g++ -Wall -pthread -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -c "%f" -lshapes -lwiringPi -lrt

    Geany settings for make/build:

    g++ -Wall -pthread -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -o "%e" "%f" -lshapes -L/opt/vc/lib -lOpenVG -lEGL -lwiringPi -lrt


    Lässt sich das für QTCode entsprechend ändern?
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

Seite 1 von 5 123 ... LetzteLetzte

Ähnliche Themen

  1. [ERLEDIGT] Raspian Wheezy erschienen
    Von TheDarkRose im Forum Raspberry Pi
    Antworten: 62
    Letzter Beitrag: 08.08.2012, 16:59
  2. Mechanisches Komponenten
    Von Neo-Alucard im Forum Asuro
    Antworten: 5
    Letzter Beitrag: 23.02.2010, 17:55
  3. Roboterteile und -komponenten
    Von squelver im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 3
    Letzter Beitrag: 15.11.2007, 12:22
  4. Welche Komponenten ???
    Von tigerharm im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 5
    Letzter Beitrag: 10.03.2007, 21:41
  5. 3D Steuerung mit RN-Komponenten
    Von BOH im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 4
    Letzter Beitrag: 23.03.2006, 21:06

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •