SuperSonik
Erfahrenes Mitglied
Hi Leute,
ich habe vor ein paar Tagen damit begonnen ein Programm in Qt zu schreiben.
Allerdings habe ich ein Problem einen eigenen Slott zu erstellen.
Hier mal schnell mein Quellcode:
main.cpp:
datei.h:
Und diese Datei ist vom Qtdesigner generiert worden:
Was ich erreichen will ist das Öffnen des Directoryauswahlmenüs beim klicken des Browse-Buttons.
Ich muss sagen das ich nicht gerade fit in OOP bin. Ist lange her ...
Gruß,
SuperSonik
ich habe vor ein paar Tagen damit begonnen ein Programm in Qt zu schreiben.
Allerdings habe ich ein Problem einen eigenen Slott zu erstellen.
Hier mal schnell mein Quellcode:
main.cpp:
Code:
#include <QtGui/QApplication.h>
#include <QtGui/QFileDialog.h>
#include <QtGui/QDialog.h>
#include <QT/QString.h>
#include "wetterdaten.h"
#include "dateiauswahl.h"
using namespace Ui;
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMainWindow *window = new QMainWindow;
Ui::MainWindow ui;
ui.setupUi(window);
Dateiauswahl br = new Dateiauswahl(ui.centralwidget,"Test"," ","*");
QObject::connect(ui.beendenButton, SIGNAL( pressed() ),&app , SLOT( quit() ) );
QObject::connect(ui.browse, SIGNAL( pressed() ), &br , SLOT( waehleDateiAus(ui.centralwidget ) ) );
window->show();
return app.exec();
}
datei.h:
Code:
#ifndef DATEIAUSWAHL_H_
#define DATEIAUSWAHL_H_
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QLabel>
#include <QtGui/QLineEdit>
#include <QtGui/QMainWindow>
#include <QtGui/QPushButton>
#include <QtGui/QStatusBar>
#include <QtGui/QTimeEdit>
#include <QtGui/QWidget>
#include <QtGui/QFileDialog.h>
#include <QT/QString.h>
#include "wetterdaten.h"
class Dateiauswahl : public QFileDialog{
Q_OBJECT
private:
QString f;
public:
Dateiauswahl(QWidget * parent = 0, const QString & caption = QString(), const QString & directory = QString(), const QString & filter = QString() ) : QFileDialog(parent,caption,directory, filter){};
public slots:
void waehleDateiAus(QWidget *parent ){
QString s = QFileDialog::getExistingDirectory(
parent,
"Waehle das Quellverzeichniss aus",
" ");
}
};
Und diese Datei ist vom Qtdesigner generiert worden:
Code:
#ifndef WETTERDATEN_H
#define WETTERDATEN_H
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QLabel>
#include <QtGui/QLineEdit>
#include <QtGui/QMainWindow>
#include <QtGui/QPushButton>
#include <QtGui/QStatusBar>
#include <QtGui/QTimeEdit>
#include <QtGui/QWidget>
#include <QtGui/QFileDialog.h>
#include <QtGui/QDialog.h>
class Ui_MainWindow
{
//Q_OBJECT
public:
QWidget *centralwidget;
QPushButton *speichernButton;
QPushButton *beendenButton;
QLabel *label;
QLabel *label_2;
QTimeEdit *startzeitEdit;
QLineEdit *intervallEdit;
QLabel *label_3;
QLabel *zielpfad;
QPushButton *browse;
QStatusBar *statusbar;
void setupUi(QMainWindow *MainWindow)
{
MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
MainWindow->resize(QSize(370, 233).expandedTo(MainWindow->minimumSizeHint()));
centralwidget = new QWidget(MainWindow);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
speichernButton = new QPushButton(centralwidget);
speichernButton->setObjectName(QString::fromUtf8("speichernButton"));
speichernButton->setGeometry(QRect(40, 170, 75, 24));
beendenButton = new QPushButton(centralwidget);
beendenButton->setObjectName(QString::fromUtf8("beendenButton"));
beendenButton->setGeometry(QRect(250, 170, 75, 24));
label = new QLabel(centralwidget);
label->setObjectName(QString::fromUtf8("label"));
label->setGeometry(QRect(20, 10, 121, 16));
label_2 = new QLabel(centralwidget);
label_2->setObjectName(QString::fromUtf8("label_2"));
label_2->setGeometry(QRect(20, 50, 121, 16));
startzeitEdit = new QTimeEdit(centralwidget);
startzeitEdit->setObjectName(QString::fromUtf8("startzeitEdit"));
startzeitEdit->setGeometry(QRect(230, 10, 118, 22));
intervallEdit = new QLineEdit(centralwidget);
intervallEdit->setObjectName(QString::fromUtf8("intervallEdit"));
intervallEdit->setGeometry(QRect(230, 50, 113, 20));
label_3 = new QLabel(centralwidget);
label_3->setObjectName(QString::fromUtf8("label_3"));
label_3->setGeometry(QRect(20, 90, 61, 16));
zielpfad = new QLabel(centralwidget);
zielpfad->setObjectName(QString::fromUtf8("zielpfad"));
zielpfad->setGeometry(QRect(80, 90, 141, 16));
browse = new QPushButton(centralwidget);
browse->setObjectName(QString::fromUtf8("browse"));
browse->setGeometry(QRect(250, 90, 75, 24));
MainWindow->setCentralWidget(centralwidget);
statusbar = new QStatusBar(MainWindow);
statusbar->setObjectName(QString::fromUtf8("statusbar"));
statusbar->setGeometry(QRect(0, 214, 370, 19));
MainWindow->setStatusBar(statusbar);
retranslateUi(MainWindow);
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
void retranslateUi(QMainWindow *MainWindow)
{
MainWindow->setWindowTitle(QApplication::translate("MainWindow", "Wetterdaten", 0, QApplication::UnicodeUTF8));
speichernButton->setText(QApplication::translate("MainWindow", "Speichern", 0, QApplication::UnicodeUTF8));
beendenButton->setText(QApplication::translate("MainWindow", "Beenden", 0, QApplication::UnicodeUTF8));
label->setText(QApplication::translate("MainWindow", "Startzeitpunkt", 0, QApplication::UnicodeUTF8));
label_2->setText(QApplication::translate("MainWindow", "\303\234bertragungsintervall", 0, QApplication::UnicodeUTF8));
label_3->setText(QApplication::translate("MainWindow", "Quellordner:", 0, QApplication::UnicodeUTF8));
zielpfad->setText(QApplication::translate("MainWindow", "", 0, QApplication::UnicodeUTF8));
browse->setText(QApplication::translate("MainWindow", "Browse", 0, QApplication::UnicodeUTF8));
Q_UNUSED(MainWindow);
} // retranslateUi
};
namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui
#endif // WETTERDATEN_H
Was ich erreichen will ist das Öffnen des Directoryauswahlmenüs beim klicken des Browse-Buttons.
Ich muss sagen das ich nicht gerade fit in OOP bin. Ist lange her ...
Gruß,
SuperSonik