プログラミングファビコン!タイトル通り。メニューにかっこよくファビコンを表示したい!という人のためのメモ。icon;}ファビコンを取得するAPIははてなの非公式のものを使う。http://favicon.hatena.ne.jp/?url=[URL]いかんせん非公式なものなのでいつ使えなくなるかはわからない。取得の精度も高いしなくならないといいな。ちなみに指定するURLにはスキームをちゃんと指定しておかないとまともに動かないので注意。9、10行目あたりで急に出現するnetRepとかnetReqとかはほとんどQNetwork系の変数。QNetworkRequestとかQNetworkReplyとか調べればたぶんすぐ分かる、はず。取得の際にはQEventLoopを用いてこの関数内だけで完結させる。(排他処理とかがちゃんとしてないのでそこら辺は直したほうがいいかも)ファビコンのデータが取得できたら上のコードのようにQIconへ変換する。QImage::convertToFormatにてFormatを指定する際にはQImage::Format_RGB32とQImage::Format_Indexed8が指定できる。取得されるデータは前者を使うと高品質、後者だと低品質なものになる。ui->actionYahoo->setIcon(getFavicon("http://www.yahoo.co.jp"));}で、まあこんな感じでひとつひとつメニューアイテムにアイコンをセットしていく。actionGoogleとかactionBingとかはご覧の通りどれもQActionの変数。このときにsetIconVisibleInMenuでちゃんと表示するように設定するのを忘れないこと。以外にこの存在を知らなくてずっと悩んでる人がQtCentreには結構いたような気がする。PNG形式のファイルを取得してQIconに変換するっていう処理だけで正直結構ハマった。加えて、あんまりQIconとかQPixmapの変換に関する詳しい資料がネットにない。ここらへんはまたいつか記事にしてまとめないといかんね。(8)はてなブログをはじめよう!IzumiSyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。