KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am aware that to use the signals and slots mechanism of Qt inside a class, the class must include the Q_OBJECT macro, but I am attempting to use signals and slots in main() , without using any class. Here is my code so far: #include <QApplication> #include <QWidget> #include <QTextEdit> #include <QtGui> void saveText(); int main(int argv, char **args) { QApplication app(argv, args); QTextEdit textEdit; QPushButton saveButton("Save!"); QPushButton exitButton("Exit!"); QObject::connect(&exitButton,SIGNAL(clicked()),qApp,SLOT(quit())); QObject::connect(&saveButton,SIGNAL(clicked()),qApp,SLOT(saveText())); QVBoxLayout vlyt; vlyt.addWidget(&textEdit); vlyt.addWidget(&exitButton); vlyt.addWidget(&saveButton); QWidget mainWindow; mainWindow.setLayout(&vlyt); mainWindow.show(); return app.exec(); } void saveText() { exit(0); } Here is the GUI window generated: From the above code, the exit button is connected to quit() , which is a Qt function, when clicked it works. The save button assigned to the function saveText() , is configured to exit, but does not do so. Please tell me where I have gone wrong in understanding signals and slots in Qt.
Tags (comma-separated)
Save Edits
Cancel