QtとC++でTwitterを表示してみた(その2)

QtとC++Twitterを表示してみた(その1)の続きです。

付け加えた機能は更新ボタンを加えただけです。本当はいろいろやろうかと思ったけども面倒くさくなってしまって、これだけになってしまった。

それと、画面ですがコードでUIを決めるのがこれまた面倒なので、QtDesignerで作ったものを読み込ませています。それがui_sample.hになります。

 


以下はソース(sample.hとsample.cppの2ファイルに分けました。)

/********************
* sample.h
********************/
#include <QWidget> #include "ui_sample.h" class Sample : public QWidget { public: Sample(QWidget *parent = 0); ~Sample(); protected: bool eventFilter(QObject* obj, QEvent *event); public: Ui::Sample* ui; };
/********************
* sample.cpp
********************/
#include <QApplication> #include <QUrl> #include "sample.h" Sample::Sample(QWidget *parent) : QWidget(parent), ui(new Ui::Sample){ ui->setupUi(this); ui->view1->load(QUrl("https://mobile.twitter.com/search-home")); ui->view2->load(QUrl("https://mobile.twitter.com/search-home")); ui->view3->load(QUrl("https://mobile.twitter.com/search-home")); ui->button1->installEventFilter(this); ui->button2->installEventFilter(this); ui->button3->installEventFilter(this); } Sample::~Sample() { delete ui; } bool Sample::eventFilter(QObject* obj, QEvent *event) { if (event->type() == QEvent::MouseButtonPress) { if (obj == ui->button1) { ui->view1->reload(); return true; } else if (obj == ui->button2) { ui->view2->reload(); return true; } else if (obj == ui->button3) { ui->view3->reload(); return true; } } return false; } int main (int argc, char* argv[]) { QApplication app(argc, argv); Sample sample; sample.show(); return app.exec(); }

実行されたアプリケーション(@Reuters_co_jp、@bbcnewsjapan、@akekodao)
20