2013-03-01から1ヶ月間の記事一覧

Qt QLabelでHTMLハイパーリンクの外部リンクを有効にする

QLabelではHTML形式で表示するテキストを指定することができますが、 デフォルトではハイパーリンクで外部リンクを開く機能がオフになっています。 これを有効にするには以下のようにsetOpenExternalLinks関数で設定を変更してやる必要があります。 qLabel->…

C++ 双方向マップ boost::bimaps 覚え書き

双方向のからアクセス可能なmapとしてboost::bimapsがあります。 今回はそのboost::bimapsの覚え書きです。 まずは単純な1対1の双方向mapとして使う場合 #include <string> #include <iostream> #include <boost/bimap/bimap.hpp> int main() { // int : string の1対1のmap typedef boost::bimaps::bi</boost/bimap/bimap.hpp></iostream></string>…

C++ イテレータインクリメント時の前値、後置の違い

C++ではforループなどでイテレータのインクリメントをする際、前値形式(例: ++itr)と後置形式(例: itr++)のどちらの方法でインクリメントしても計算結果は同じになりますが、多くの場合 わずかですが前値形式(++itr)の方が後置形式(itr++)より高速に動作しま…

Qt foreachの注意点 その2

Qt foreachの注意点 その1 - unstable diaryQtのforeachを使う際の注意点その2です。Qtのforeachではc++11の範囲for文(range-based for)やboostのBOOST_FOREACHのように 受け取るコンテナの内部要素の型を参照(非const)で受けとり、コンテナの内部の値を変更…

Qt QGraphicsItemごとに個別にアンチエイリアスをかける

QGraphiceViewではsetRenderHint関数でQPainter::Antialiasingを設定してやることで 以下のようにアンチエイリアスのオン オフを切り替えられます。アンチエイリアス オン アンチエイリアス オフ このようにアンチエイリアスの設定を切り替えられますが、 こ…

Qt foreachの注意点 その1

c++11で範囲for文(range-based for)が追加されたことで、c++でも以下のようにコンテナの内部のすべての要素を簡単に捜査できるようになりました。 std:vector<int> vec; for( const int value : vec ) { std::cout << value << std::endl; } Qtではc++の言語機能</int>…

pythonでfizzbuzzワンライナー

なんとなくpythonでfizzbuzzワンライナーをやってみた。 とりあえず何も考えずに条件演算式(c++とかの三項演算子みたいなもの)を使って作成したワンライナー print("\n".join(["fizzbuzz" if (x % 3) == 0 and (x % 5) == 0 else "fizz" if (x % 3) == 0 els…

はじめまして

ブログはじめました。これから個人的な覚書などをちょこちょこ投稿していけたらと思います。では