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
| #include <QApplication>
#include <QTextCodec>
#include <QWidget>
#include <QLineEdit>
#include <QPushButton>
class FenetreTitreVariable : public QWidget
{
Q_OBJECT
public:
FenetreTitreVariable(QLineEdit *QLineEditASurveiller);
public slots:
void captureQLineEdit();
private:
QLineEdit *m_QLineEditASurveiller;
};
FenetreTitreVariable::FenetreTitreVariable(QLineEdit *QLineEditASurveiller) : m_QLineEditASurveiller(QLineEditASurveiller)
{}
void FenetreTitreVariable::captureQLineEdit()
{
// QWidget::setWindowTitle(m_QLineEditASurveiller);
QWidget::setWindowTitle("test");
}
#include "main.moc"
// afin de pouvoir utiliser une classe qui comprend la macro Q_OBJECT
// sans avoir à mettre cette classe dans des .h et .cpp spécifiques
// (à inclure APRÈS la classe en question)
// Penser à refaire un qmake en cas d'erreur 'vtable'
int main(int argc, char *argv[])
{
QApplication monApplication(argc, argv);
// Pour l'affichage correct des caractères si le codage est fait en UTF-8
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QLineEdit *ligne(0);
FenetreTitreVariable fenetre(ligne);
fenetre.setWindowTitle("Fenetre et sa QLineEdit");
fenetre.setFixedSize(350,100);
QPushButton bouton("Effacer la ligne", &fenetre);
bouton.move(25,25);
bouton.resize(80,25);
ligne = new QLineEdit("<-- cliquer pour effacer", &fenetre);
ligne->move(125,25);
ligne->resize(200,25);
QWidget::connect(&bouton,SIGNAL(clicked()),ligne,SLOT(clear()));
// QWidget::connect(ligne,SIGNAL(textEdited(QString)),&fenetre,SLOT(setWindowTitle(QString)));
QWidget::connect(ligne,SIGNAL(editingFinished()),&fenetre,SLOT(captureQLineEdit()));
fenetre.show();
return monApplication.exec();
} |
Partager