メインウィンドウをスクリーンショットする メインウィンドウのスクリーンショットを撮る場合、 QPixmap::grabWidget を利用する。 // メインウィンドウのスクリーンショット pixmap = QPixmap::grabWidget( this ); // クリップボードにビットマップをコピ…
QtによるSleepメソッド実装方法を記します(ほぼ参考資料の転載です)。 Sleep は指定時間の間、処理の実行を中断するメソッドです。 実装により次の2種類が存在しています。 秒指定 ミリ秒指定 前者には C++標準ライブラリ のSleepメソッドが、 後者には W…
導入でつまずいたので、記事で残します。 環境とインストールしておくツール windows 10 git (version 2.6.4.windows.1) node.js (v5.2.0) git は必須ではないですが、git bashから構築及び実行をしているため挙げました。 git と node.js については公式配…
Qtはテストプロジェクト向けパッケージでテストデータを受け渡す方法として、 次の方法が提供されている。 QTest::addColumn() メソッド QFETCH マクロ 標準組み込み型およびQtライブラリ提供クラスの多くは、 addColumn メソッドで登録したテストデータを、…
ブックマークが溜まってきたので、内容をまとめる前に一度リンクを記事にしました。 まとまりはないので、たどり着いてしまった人は自分の目で確認してくだし。。 http://doc.qt.io/qt-4.8/modelview.html http://www.thedazzlersinc.com/source/2012/06/04/…
参考 %%QTDIR%%/examples/designer/worldtimeclockplugin 構成 ファイル 例(worldtimeclockplugin) ウィジェットクラスファイル worldtimeclock.h worldtimeclock.cpp プラグインクラスファイル worldtimeclockplugin.h worldtimeclockplugin.cpp プロジェク…
今回は関数の定義されたDLLの作成と、DLLの関数の呼び出しについて。 QtライブラリのDLL読み込みクラスは、QLibraryとQPluginLoaderがありますが、 今回は QLibrary を使用して読み込みます。 やりたいことはだいたい以下の感じ。 // アプリケーションと同じ…
QScrollArea はスクロールバーを表示するウィジェットです。 スクロールバーは内包するウィジェットのサイズを受けて設定されます。 他のツールでも同様ですが、意味のあるスクロールバーを表示するにはコツがいります。 もし QScrollArea を見て、「これで…
しばしば調べるドイツ語のTipsです。 接尾辞 -dorf 村 Düsseldorf [地名]デュッセルドルフ(DEU) デュッセル村。付近を流れるデュッセル川に由来 Himmelsdorf [地名]ヒンメルスドルフ(WoT) 天国の村
先日 Googleが検索結果アルゴリズムを新しくしました。 この変更で、モバイル端末ではモバイルフレンドリーなウェブページが、 優先して表示されるとのことです。 モバイルフレンドリー という単語を聞いたこともなかったので、 調べたことをつらつら書いて…
QListViewの選択項目の取得には以下の2通りの方法があります。 フォーカス中のアイテムの取得 選択状態のアイテムの取得 まずはそれぞれの方法を示します。 フォーカス中のアイテムの取得 QStandardItem * item = NULL; // フォーカス中のアイテムのインデッ…
QListView に項目の追加する方法を示します。 まずは、前準備として以下のようにモデルの設定します。 // リストビュー QListView *listView; listView = new QListView(); Q_CHECK_PTR(listView); // 表示モデルを用意 QStandardItemModel * model = new QS…
ブックの全てのワークシートは Worksheets で呼ぶことができます。 この複数のワークシートに対して特定の操作をするために、 VBAの繰り返しステートメントの一つ For Each を用います。 For Each ws In Worksheets ' ワークシートの名前をデバッグプリント …
日本で使われるメタ構文変数の名には hoge, piyo, fuga 等が挙げられます。 一方、英語圏では foo, bar といった変数名がよく使われています。 英語圏のメタ構文変数の一つに "xyzzy" があります。 これは、ADVENTという1970年代のゲームにおける呪文が由来…
コードドキュメントツールの Doxygen がいい感じなので、 利用に際して気にすることを記します。 関数コールツリーの表示 関数コールツリーの表示は Topix "Dot" の "HAVE_DOT" にチェックを入れて、 "CALL_GRAPH", "CALLER_GRAPH" にチェックを入れることで…
行数の数え上げはQTextStream::readLine()を用います。 以下は実際に読んだ行数を返す例です。 int countLine(QString filePath) { int line_count=0; QFile file(filePath); file.open(QIODevice::ReadOnly); //| QIODevice::Text) QTextStream in(&file); …
QListの中の値を取得するにはメソッドat()やオペレーター[]を利用します。 それとは別に、QListの中の値を得て、QListから取り除くきたい。 そんなときはメソッドtakeAt()を用います。 先頭または最後に対して同様の操作をする場合は、 takeFirst(), takeLas…
neobundleが便利で自宅環境にも導入にしようとしたのですが、 思いがけないところで躓いたのでメモ。 つまずいた箇所は、 Windowsの場合は環境変数にgitのパスを追加する必要がある という箇所。これがないとNeoBundleInstallが失敗します。 しかもエラーメ…
メッセージボックスからボタンを消すにはメソッドsetStandardButtonsに0を渡してあげます。 QMessageBox m; m.setStandardButtons(0); ただ、クラスを作っても良いならQDialogを基底にQLabelを配置したダイアログを作成するのもありかも。 参考 QMessageBox …
標準のハイライトでは*.md等のファイルはMarkdownではなく modula2 のものと判断されているらしい。 そのため、以下の記述を.vimrcに加えてあげる autocmd BufNewFile,BufRead *.{md,mdwn,mkd,mkdn,mark*} set filetype=markdown 参考 VimでのMarkdown環境を…
ウィジェットの画面を他のペイントデバイス(QPaintDeviceの派生クラス)に描画する方法です。 // QPixmapにウィジェットの表示を直接描画する方法 QWidget *w = new QWidget(); // 描画内容の設定 QLabel *lbl = new QLabel("Hello world."); QVBoxLayout *la…
.gitconfig を管理の際にいくつかのファイルに分けたいといった場合があります。 こんなとき役立つのが[include]です。 [include]は指定したpathのファイルを展開し、.gitconfigの記述として扱います。 以下はユーザー情報をエイリアス設定を別ファイルに記…
ディレクトリ、いわゆるフォルダの呼び方について。 ディレクトリの下位のディレクトリはサブディレクトリと呼ぶけど、 上位のディレクトリはなんて呼べば良いのだろうと思い調べました。 結果から言うと「親ディレクトリ」で良いようです。 呼称(日本語) …
比率は目測です。以下のメッセージが出るのでそのままは使わないでください QPaintDevice: Cannnot destroy paint device that being painted QPixmap takeRAFRoundel() { // 画像のサイズ int width = 500; int height = 500; QPoint center(width/2,height…
QDirIterator でサブディレクトリを含むファイル検索をする。 QDirIterator::IteratorFlags を設定すればok 以下はユーザーのピクチャフォルダのjpeg,pngファイルを検索するやつ // ユーザーのPicturesフォルダパスを取得 QString dirPath = QDesktopService…
typedef の末尾にのセミコロン(;)を忘れがちなので書いた。 typedef は変数名や構造体、クラスの別名を定義する。 typedef originName newName; 単なる別名のほか、略称の設定することがよくある。 typedef originName oriName; 他に有名なのはポインタの定…
mvコマンドの前にgitを付けるだけでできるらしい $ git mv <oldfilename> <newfilename> 基本操作 | 逆引きGit | サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ</newfilename></oldfilename>
メッセージのデジタル署名と暗号化のメモです。 Enigmail は、バージョン 1.7.2 (20140829-0917) Gpg4win 2.2.3 (Released: 2014-09-04) GnuPG 2.0.26 Kleopatra 2.2.0-git945878c GPA 0.9.6 GpgOL 1.2.1 GpgEX 1.0.1 Claws Mail 3.9.1 Kompendium (de) 3.0.…
git log で変更者、変更日時等の変更履歴が表示されますが、変更されたファイル名を表示するには --stat, --numstat, --name-status, --name-only などで知ることができます。 git log で変更・追加されたファイルを表示する - yuumi3のお仕事日記
プログレスバーを生成し以下の3ステップを踏む 処理前にステータスバーへ追加 処理中に値を設定 処理後にステータスバーからの除去 QProgressBar bar; statusbar->addWidget( &bar ); bar.setMinimum( 0 ); bar.setMaximum( 100 ); for ( int i = 0; i < 100…