Okay, nu weer een ander uitprobeersel. Ik probeer Kladblok of Notepad van Windows na te apen. Dat lijkt eenvoudig, maar het is ook een goede programmeeroefening. Ik heb de volgende bestanden:
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
#include "ui_mainwindow.h"
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0, Qt::WFlags flags = 0);
~MainWindow();
private:
Ui::MainWindowClass ui;
public slots:
void nieuw();
void open();
void opslaan();
void opslaanAls();
void verlaat();
};
#endif // MAINWINDOW_H
main.cpp
#include <QtGui/QApplication>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
void MainWindow::nieuw()
{
ui.contents->setText("Nieuw");
}
void MainWindow::open()
{
ui.contents->setText("Open");
}
void MainWindow::opslaan()
{
ui.contents->setText("Opslaan");
}
void MainWindow::opslaanAls()
{
ui.contents->setText("Opslaan als");
}
void MainWindow::verlaat()
{
this->close();
}
mainwindow.cpp
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
QObject::connect(ui.action_New, SIGNAL(trigger()), this, SLOT(nieuw()));
QObject::connect(ui.action_Open, SIGNAL(trigger()), this, SLOT(open()));
QObject::connect(ui.action_Save, SIGNAL(trigger()), this, SLOT(opslaan()));
QObject::connect(ui.actionSave_as, SIGNAL(trigger()), this, SLOT(opslaanAls()));
QObject::connect(ui.actionE_xit, SIGNAL(trigger()), this, SLOT(verlaat()));
}
MainWindow::~MainWindow()
{
}
- De menu items veroorzaken geen events;
- Hoe verander ik de tekst van het textveld (ui.contents)?