Hatena::ブログ(Diary)

C++でゲームプログラミング

2013-05-28

[][]Qt5 の connect を lambda expressions で試してみた

なんとか手元で Qt5 を動かすことが出来たので connect で lambda expressions を 試してみました。


[ソース]

#include <QtWidgets/QApplication>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSlider>
#include <iostream>
#include <string>


int
main(int argc, char* argv[]){
    QApplication app(argc, argv);

    int count = 10;

    QPushButton button("Quit");
    button.show();
    QObject::connect(&button, &QPushButton::clicked, []{
        std::cout << "homu" << std::endl;
    });

    QObject::connect(&button, &QPushButton::clicked, [&]{
        --count;
        std::cout << count << std::endl;
        if( count <= 0 ){
            app.quit();
        }
    });

    QSlider slider;
    slider.show();
    QObject::connect(&slider, &QSlider::valueChanged, [](int value){
        std::cout << value << std::endl;
    });

    return app.exec();
}

やはり lambda expressions が使えるとだいぶコードがすっきりしますね。

便利。

2013-05-19

[]Qt 5.0.2 がリリースされていた

先月辺りに Qt 5.0.2 がリリースされていたみたいなので試してみました。


で、手元で一番問題になっていたこれを試してみたんですが残念な事にまだバグが残っているようです。x

うーん…。

2013-05-09

[][]Qt 4.8 の QtWebkit で Flash を再生する

Qt 4.8 の QtWebkit で Flash を再生したい場合、QWebSettings::PluginsEnabled を有効にする必要があります。


[ソース]

#include <QtGui/QApplication>
#include <QtWebKit/QtWebKit>

int
main(int argc, char* argv[]){
    QApplication app(argc, argv);

    QWebView view;
    view.load(QUrl("http://yanagie.sakura.ne.jp/etc/chihiro.swf"));
    view.settings()->setAttribute(QWebSettings::PluginsEnabled, true);
    view.show();
    
    return app.exec();
}

[出力]

f:id:osyo-manga:20130509203251p:image


ただ、Mac 環境だとうまく動作ケースがあるとかどうとか。

2013-04-30

[][]QtWebKit を使ってみた

簡単に描画できるらしいのでちょっと使ってみた。


[ソース]

#include <QtGui/QApplication>
#include <QtWebKit/QtWebKit>

int
main(int argc, char* argv[]){
    QApplication app(argc, argv);

    QWebView view;
    view.load(QUrl("http://www.google.com/"));
    view.show();
    
    return app.exec();
}

[出力]

f:id:osyo-manga:20130430223853p:image


おおおお…たったこれだけのコードで描画出来るとはすごい…。

UI を少し付け足せば簡単なブラウザとして使うことが出来そうですね。


[Qt]

  • Qt 4.8.4

[参照]

http://d.hatena.ne.jp/kryozahiro/20091121/1258802864

2013-04-27

[]lingr に Qt 部屋が出来ました

某部屋が Qt 部屋になりつつあったので Qt 部屋が出来ました。


特にこれといった制限もないので Qt に興味のある人とかが来ればいいと思います。

むしろわたしは Qt がわからないので来て下さい!!(他力本願。