[gelöst] eigene Funktion wird doppelt ausgeführt ?

Alles rund um die Programmierung mit Qt
Antworten
Celuldor
Beiträge: 2
Registriert: 16. April 2008 22:23

[gelöst] eigene Funktion wird doppelt ausgeführt ?

Beitrag von Celuldor »

hi
bin was qt angeht n totaler neuling und habe über die forums suche leider nix passendes gefunden

ich möchte gerne ein tool mit qt gui bauen das auf buttoklick etwas in die konsole schreibt

das funktioniert auch soweit (nur leider zu gut)
beim klick wird der text zweimal geschrieben

was mach ich falsch ?

---
hier mal mein code:
button.pro

Code: Alles auswählen

######################################################################
# Automatically generated by qmake (2.01a) Mi Apr 16 22:18:42 2008
######################################################################

TEMPLATE = app
TARGET = 
DEPENDPATH += .
INCLUDEPATH += .

# Input
HEADERS += button.h CTForm.h
SOURCES += CTForm.cpp main.cpp
main.cpp

Code: Alles auswählen

#include <QApplication>
#include "CTForm.h"

int main(int argc, char* argv[])
{
	QApplication app(argc, argv);
	CTForm window;
	window.show();
	return app.exec();
}
CTForm.cpp

Code: Alles auswählen

#include <iostream>
#include "CTForm.h"
using namespace std;

CTForm::CTForm(QMainWindow *parent) : QMainWindow(parent)
{
	ui.setupUi(this);
}

void CTForm::on_pushButton_clicked()
{
	cout << "button 1" << endl;
}

void CTForm::on_pushButton_2_clicked()
{
	cout << "button 2" << endl;
}
CTForm.h

Code: Alles auswählen

#ifndef __CTFORM__H__
#define __CTFORM__H__
#include "button.h" 

class CTForm : public QMainWindow 
{ 
Q_OBJECT

public:
	CTForm(QMainWindow *parent = 0);

public slots:
	void on_pushButton_clicked();
	void on_pushButton_2_clicked();

private: 
	Ui::MainWindow ui;
};

#endif /* __CTFORM__H__ */
button.h

Code: Alles auswählen

/********************************************************************************
** Form generated from reading ui file 'untitled.ui'
**
** Created: Wed Apr 16 19:56:30 2008
**      by: Qt User Interface Compiler version 4.3.4
**
** WARNING! All changes made in this file will be lost when recompiling ui file!
********************************************************************************/

#ifndef UI_UNTITLED_H
#define UI_UNTITLED_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QMainWindow>
#include <QtGui/QPushButton>
#include <QtGui/QWidget>
#include "CTForm.h"
class Ui_MainWindow
{
public:
    QWidget *centralwidget;
    QPushButton *pushButton;
    QPushButton *pushButton_2;
    QPushButton *pushButton_3;

    void setupUi(QMainWindow *MainWindow)
    {
    if (MainWindow->objectName().isEmpty())
        MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
    MainWindow->resize(118, 114);
    centralwidget = new QWidget(MainWindow);
    centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
    pushButton = new QPushButton(centralwidget);
    pushButton->setObjectName(QString::fromUtf8("pushButton"));
    pushButton->setGeometry(QRect(10, 10, 97, 25));
    pushButton_2 = new QPushButton(centralwidget);
    pushButton_2->setObjectName(QString::fromUtf8("pushButton_2"));
    pushButton_2->setGeometry(QRect(10, 40, 97, 25));
    pushButton_3 = new QPushButton(centralwidget);
    pushButton_3->setObjectName(QString::fromUtf8("pushButton_3"));
    pushButton_3->setGeometry(QRect(10, 70, 97, 25));
    MainWindow->setCentralWidget(centralwidget);

    retranslateUi(MainWindow);
    QObject::connect(pushButton, SIGNAL(clicked()), MainWindow, SLOT(on_pushButton_clicked()));
    QObject::connect(pushButton_2, SIGNAL(clicked()), MainWindow, SLOT(on_pushButton_2_clicked()));
    QObject::connect(pushButton_3, SIGNAL(clicked()), MainWindow, SLOT(close()));

   QMetaObject::connectSlotsByName(MainWindow);
    } // setupUi

    void retranslateUi(QMainWindow *MainWindow)
    {
    MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8));
    pushButton->setText(QApplication::translate("MainWindow", "PushButton", 0, QApplication::UnicodeUTF8));
    pushButton_2->setText(QApplication::translate("MainWindow", "PushButton", 0, QApplication::UnicodeUTF8));
    pushButton_3->setText(QApplication::translate("MainWindow", "PushButton", 0, QApplication::UnicodeUTF8));
    Q_UNUSED(MainWindow);
    } // retranslateUi

};

namespace Ui {
    class MainWindow: public Ui_MainWindow {};
} // namespace Ui

#endif // UI_UNTITLED_H
Zuletzt geändert von Celuldor am 23. April 2008 21:51, insgesamt 1-mal geändert.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Doppelter connect. Einmal greift der Autoconnect vom MOC und dann connectest Du noch selbst.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Celuldor
Beiträge: 2
Registriert: 16. April 2008 22:23

Beitrag von Celuldor »

:-)

ok ich weiss
es hat etwas länger gedauert bis ich verstanden hab was du meintest^^

danke hat das probb gelöst :-)
Antworten