Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Some functions werent declared problem
I have a little problem. I am a new one. I want to do basic tutorial in Qt.
@Notepad::Notepad(QObject *parent) :
QTextEdit *textEdit = new QTextEdit; QPushButton *quitButton = new QPushButton("&Quit"); QObject::connect(quitButton, SIGNAL(clicked()),qApp, SLOT(quit())); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(textEdit); layout->addWidget(quitButton); setLayout(layout); setWindowTitle(tr("Notepad"));
messageBox.setText(tr("Do you really want to quit?"));
messageBox.setStandartButtons(QMessageBox::Yes | QMessageBox::No);
if(messagebox.exec() == QMessageBox::Yes) qApp->quit();
I got "setLayout, setWindowTitle, messageBox was not declared in this scope" error.
I got "Class MessageBox has no member named setStandartButtons" error.
I guess I didnt include some library. How can i fix them?
qxoz last edited by
First of all what basic tutorial you use?
Your Notepad class inherits QObject but you call functions which belongs to QWidget.
Try start from "http://qt-project.org/doc/qt-5.0/qtdoc/index.html":http://qt-project.org/doc/qt-5.0/qtdoc/index.html this point or use some book about Qt programming.
I try to do "that":http://qt-project.org/doc/qt-4.8/gettingstartedqt.html tutorial. I use Qt 4.8. Do you think I use Qt 5.0?
qxoz last edited by
Nice example. If you write exactly as in tutorial it should work, and pay attention to the doc note from Volker on bottom .
Change QObject to QWidget and check is all includes are present.
utcenter last edited by
Well, this tutorial doesn't seem to include deriving from QObject.
Then again, the constructor code doesn't initialize neither a QObject nor a QWidget...
You right example has a bug.
I found the caouse of error. I try to make a little different class like QDialog. I have MainWindow class and NotePad class. I wrote those codes in NotePad class. When i write those codes in MainWindow class, I have no problem. setLayout() and setWindowTitle() are work well in MainWindow class.
I realize If I declare a new class in QDialog, there is no problem but i cant declare in QObject. New class is NotePad in my question. How can i use setLayout() and setWindowTitle() functions in another class?