#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = 0); ~MainWindow(); public slots: void buttonClickHandler(); protected: void changeEvent(QEvent *e); private: Ui::MainWindow *ui; { private: // member functions void MainWindow::initMyWordList() private: // member variables static int _clickCounter; QStringList _wordList; }; private slots: private slots: void on_Button_clicked(); }; #endif // MAINWINDOW_H
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QLabel> int MainWindow::_clickCounter = 0; MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::changeEvent(QEvent *e) { QMainWindow::changeEvent(e); switch (e->type()) { case QEvent::LanguageChange: ui->retranslateUi(this); break; default: break; } } void MainWindow::buttonClickHandler() { } void MainWindow::on_Button_clicked() { .... error = initMyWordList(); if ( error ) do whatever you feel like .... } //init my word file void MainWindow::initMyWordList() { QFile * wordFile = new QFile("/home/user/wordlist"); wordFile->open(QIODevice::ReadOnly); QTextStream stream(wordFile); // create the map of channel and date until which data is available while ( !stream.atEnd() ) { QString word = stream.readLine(); _wordList << word; } wordFile->close(); } void MainWindow::on_Button_clicked() { ui->label->setText(QString("the word of the day is %1").arg(_wordList[_clickCounter++]) ); }