Bonjour,
je ne sais pas quoi mettre en 3eme argument de la fonction connect(sender, SIGNAL, receiver, SLOT) ici...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <plusieurs includes>
#include "interface.cpp"
void fonction(void)  { cout << "Hello" << endl;   }

int main(int argc, char *argv[])
{	QApplication app(argc, argv);
	QMainWindow* MyMainWindow = new QMainWindow;
	Ui_MainWindow MyUi;
	MyUi.setupUi(MyMainWindow);
	MyMainWindow->show();
	QObject::connect(MyUi.monbouton, SIGNAL(clicked()), 0 ? ?, SLOT(fonction()));
	return app.exec();
}
interface.cpp ne contient que du code produit par Qt designer et uic, soit un bouton et une LineEdit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
 
/**************************************************************************/********************************************************************************
** Form generated from reading UI file 'interface.ui'
**
** Created
**      by: Qt User Interface Compiler version 4.8.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
 
#ifndef INTERFACE_H
#define INTERFACE_H
 
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QHeaderView>
#include <QtGui/QLineEdit>
#include <QtGui/QMainWindow>
#include <QtGui/QMenuBar>
#include <QtGui/QPushButton>
#include <QtGui/QStatusBar>
#include <QtGui/QWidget>
 
QT_BEGIN_NAMESPACE
 
class Ui_MainWindow
{
public:
    QWidget *centralwidget;
    QLineEdit *maligne;
    QPushButton *monbouton;
    QMenuBar *menubar;
    QStatusBar *statusbar;
 
    void setupUi(QMainWindow *MainWindow)
    {
        if (MainWindow->objectName().isEmpty())
            MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
        MainWindow->resize(800, 600);
        centralwidget = new QWidget(MainWindow);
        centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
        maligne = new QLineEdit(centralwidget);
        maligne->setObjectName(QString::fromUtf8("maligne"));
        maligne->setGeometry(QRect(70, 70, 113, 20));
        monbouton = new QPushButton(centralwidget);
        monbouton->setObjectName(QString::fromUtf8("monbouton"));
        monbouton->setGeometry(QRect(110, 130, 79, 24));
        MainWindow->setCentralWidget(centralwidget);
        menubar = new QMenuBar(MainWindow);
        menubar->setObjectName(QString::fromUtf8("menubar"));
        menubar->setGeometry(QRect(0, 0, 800, 24));
        MainWindow->setMenuBar(menubar);
        statusbar = new QStatusBar(MainWindow);
        statusbar->setObjectName(QString::fromUtf8("statusbar"));
        MainWindow->setStatusBar(statusbar);
 
        retranslateUi(MainWindow);
 
        QMetaObject::connectSlotsByName(MainWindow);
    } // setupUi
 
    void retranslateUi(QMainWindow *MainWindow)
    {
        MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8));
        monbouton->setText(QApplication::translate("MainWindow", "PushButton", 0, QApplication::UnicodeUTF8));
    } // retranslateUi
 
};
 
namespace Ui {
    class MainWindow: public Ui_MainWindow {};
} // namespace Ui
 
QT_END_NAMESPACE
 
#endif // INTERFACE_H

Avec 0 en 3eme argument, ça compile, l'interface s'affiche mais au clic j'ai un "Cannot connect QPushButton::clicked() to (null)::fonction()" dans la console :



Ce n'est pas "this" non plus

Alors que mettre en argument pour que un clic sur le bouton appelle la fonction fonction() ?