カンテラの光の下で

dNaga392's memorandom

【QLibrary】DLL内の関数を呼び出す

今回は関数の定義されたDLLの作成と、DLLの関数の呼び出しについて。 QtライブラリのDLL読み込みクラスは、QLibraryとQPluginLoaderがありますが、 今回は QLibrary を使用して読み込みます。 やりたいことはだいたい以下の感じ。 // アプリケーションと同じ…

【QScrolArea】中身のサイズに応じてスクロールバーを表示する

QScrollArea はスクロールバーを表示するウィジェットです。 スクロールバーは内包するウィジェットのサイズを受けて設定されます。 他のツールでも同様ですが、意味のあるスクロールバーを表示するにはコツがいります。 もし QScrollArea を見て、「これで…

ドイツ語のあれそれ

しばしば調べるドイツ語のTipsです。 接尾辞 -dorf 村 Düsseldorf [地名]デュッセルドルフ(DEU) デュッセル村。付近を流れるデュッセル川に由来 Himmelsdorf [地名]ヒンメルスドルフ(WoT) 天国の村

モバイルフレンドリー についてメモ

Web

先日 Googleが検索結果アルゴリズムを新しくしました。 この変更で、モバイル端末ではモバイルフレンドリーなウェブページが、 優先して表示されるとのことです。 モバイルフレンドリー という単語を聞いたこともなかったので、 調べたことをつらつら書いて…

【Qt】【QListView】QListViewの選択項目の取得

QListViewの選択項目の取得には以下の2通りの方法があります。 フォーカス中のアイテムの取得 選択状態のアイテムの取得 まずはそれぞれの方法を示します。 フォーカス中のアイテムの取得 QStandardItem * item = NULL; // フォーカス中のアイテムのインデッ…

【Qt】【QListView】QListViewの項目の追加

QListView に項目の追加する方法を示します。 まずは、前準備として以下のようにモデルの設定します。 // リストビュー QListView *listView; listView = new QListView(); Q_CHECK_PTR(listView); // 表示モデルを用意 QStandardItemModel * model = new QS…

【VBA】ワークシートを巡回する

VBA

ブックの全てのワークシートは Worksheets で呼ぶことができます。 この複数のワークシートに対して特定の操作をするために、 VBAの繰り返しステートメントの一つ For Each を用います。 For Each ws In Worksheets ' ワークシートの名前をデバッグプリント …

【Name】メタ構文変数

日本で使われるメタ構文変数の名には hoge, piyo, fuga 等が挙げられます。 一方、英語圏では foo, bar といった変数名がよく使われています。 英語圏のメタ構文変数の一つに "xyzzy" があります。 これは、ADVENTという1970年代のゲームにおける呪文が由来…

【Doxygen】Doxygen Tips

コードドキュメントツールの Doxygen がいい感じなので、 利用に際して気にすることを記します。 関数コールツリーの表示 関数コールツリーの表示は Topix "Dot" の "HAVE_DOT" にチェックを入れて、 "CALL_GRAPH", "CALLER_GRAPH" にチェックを入れることで…

【Qt】テキストファイルの行数を取得する

行数の数え上げはQTextStream::readLine()を用います。 以下は実際に読んだ行数を返す例です。 int countLine(QString filePath) { int line_count=0; QFile file(filePath); file.open(QIODevice::ReadOnly); //| QIODevice::Text) QTextStream in(&file); …

【Qt】【QList】リストの中身を取り出す

QListの中の値を取得するにはメソッドat()やオペレーター[]を利用します。 それとは別に、QListの中の値を得て、QListから取り除くきたい。 そんなときはメソッドtakeAt()を用います。 先頭または最後に対して同様の操作をする場合は、 takeFirst(), takeLas…

neobundleを導入する

Vim

neobundleが便利で自宅環境にも導入にしようとしたのですが、 思いがけないところで躓いたのでメモ。 つまずいた箇所は、 Windowsの場合は環境変数にgitのパスを追加する必要がある という箇所。これがないとNeoBundleInstallが失敗します。 しかもエラーメ…

【Qt】【QMessageBox】メッセージボックスからボタンを消す

メッセージボックスからボタンを消すにはメソッドsetStandardButtonsに0を渡してあげます。 QMessageBox m; m.setStandardButtons(0); ただ、クラスを作っても良いならQDialogを基底にQLabelを配置したダイアログを作成するのもありかも。 参考 QMessageBox …

【Vim】【Markdown】VimでMarkdownのシンタックスハイライトを使う

Vim

標準のハイライトでは*.md等のファイルはMarkdownではなく modula2 のものと判断されているらしい。 そのため、以下の記述を.vimrcに加えてあげる autocmd BufNewFile,BufRead *.{md,mdwn,mkd,mkdn,mark*} set filetype=markdown 参考 VimでのMarkdown環境を…

【Qt】【QWidget】ウィジェットの画面を描画する

ウィジェットの画面を他のペイントデバイス(QPaintDeviceの派生クラス)に描画する方法です。 // QPixmapにウィジェットの表示を直接描画する方法 QWidget *w = new QWidget(); // 描画内容の設定 QLabel *lbl = new QLabel("Hello world."); QVBoxLayout *la…

【Git】gitconfigの分割管理[include]

Git

.gitconfig を管理の際にいくつかのファイルに分けたいといった場合があります。 こんなとき役立つのが[include]です。 [include]は指定したpathのファイルを展開し、.gitconfigの記述として扱います。 以下はユーザー情報をエイリアス設定を別ファイルに記…

ディレクトリの呼び方

ディレクトリ、いわゆるフォルダの呼び方について。 ディレクトリの下位のディレクトリはサブディレクトリと呼ぶけど、 上位のディレクトリはなんて呼べば良いのだろうと思い調べました。 結果から言うと「親ディレクトリ」で良いようです。 呼称(日本語) …

【Qt】英国のラウンデルを描画

比率は目測です。以下のメッセージが出るのでそのままは使わないでください QPaintDevice: Cannnot destroy paint device that being painted QPixmap takeRAFRoundel() { // 画像のサイズ int width = 500; int height = 500; QPoint center(width/2,height…

【Qt】【QDirIterator】サブディレクトリを含むファイル検索

QDirIterator でサブディレクトリを含むファイル検索をする。 QDirIterator::IteratorFlags を設定すればok 以下はユーザーのピクチャフォルダのjpeg,pngファイルを検索するやつ // ユーザーのPicturesフォルダパスを取得 QString dirPath = QDesktopService…

【C/C++】typedef

cpp

typedef の末尾にのセミコロン(;)を忘れがちなので書いた。 typedef は変数名や構造体、クラスの別名を定義する。 typedef originName newName; 単なる別名のほか、略称の設定することがよくある。 typedef originName oriName; 他に有名なのはポインタの定…

【Git】 ディレクトリの移動

Git

mvコマンドの前にgitを付けるだけでできるらしい $ git mv <oldfilename> <newfilename> 基本操作 | 逆引きGit | サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ</newfilename></oldfilename>

【GPG】【Enigmail】Thunderbirdにおけるメッセージのデジタル署名と暗号化

メッセージのデジタル署名と暗号化のメモです。 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】git log で変更・追加されたファイルを表示

Git

git log で変更者、変更日時等の変更履歴が表示されますが、変更されたファイル名を表示するには --stat, --numstat, --name-status, --name-only などで知ることができます。 git log で変更・追加されたファイルを表示する - yuumi3のお仕事日記

【Qt】【QProgressBar】プログレスバーをステータスバーに表示【QStatusbar】

プログレスバーを生成し以下の3ステップを踏む 処理前にステータスバーへ追加 処理中に値を設定 処理後にステータスバーからの除去 QProgressBar bar; statusbar->addWidget( &bar ); bar.setMinimum( 0 ); bar.setMaximum( 100 ); for ( int i = 0; i < 100…

【Qt】【QButtonGroup】グループすべてのチェックボックスを未選択状態にする【QCheckBox】

QButtonGroup の 制御を一旦解くことで未選択化が可能です。 解除する前後でsetExclusiveメソッドを呼び出す方法は以下のとおり。 // groupStatus is a pointer to QButtonGroup groupStatus->setExclusive(false); groupStatus->checkedButton()->setChecke…

【Word 2010】目次の追加

MS Word2010では、目次の追加は[参考資料]タブからできます。 ギャラリーから目次を作成する 目次の項目を登録したら、目次を作成できます。 目次を挿入する位置 (通常は文書の先頭) をクリックします。 [参考資料] タブの [目次] で [目次] をクリックし、…

【Qt】ローカルファイルの実行

ローカルファイルの実行は QDesktopServices の openUriメソッドを使い実現できます。 //#include <QDesktopServices> //#include <QUrl> //#include <QString> // QString filepath; bool result = QDesktopServices::openUrl(QUrl::fromLocalFile(filepath)); c++ - Howto open html page in</qstring></qurl></qdesktopservices>…

【Qt】【QCheckBox】QCheckBoxの選択範囲の変更

QCheckBox の選択範囲を横幅いっぱいにする方法について。 スタイルシートで背景色を設定すると横幅いっぱいに色が設定されますが、 チェックできる範囲(チェックボックスとテキスト領域)と異なる範囲のため、 選択範囲を変えたいという事情がありました。 …

【QtJP】Qt 勉強会に行ってきました【QToolBox】

Qt勉強会に行ってきました! Qt 勉強会 #18 @Tokyo - Qt 勉強会 | Doorkeeper 勉強会はもくもく会と聞いていたので、 アイテムラベルをグループ化して表示するツールボックスを作ることを目標に臨みました。 夕方に予定があったため、勉強会の時間内に完成さ…

【Qt】【QDateTime】 日時の文字列表示

日時はQDateTimeで扱うことができます。toString関数を使うことで任意の文字列表示ができます。 // 現在の日時を取得 QDateTime dt = QDateTime::currentDateTime(); // QStringの割当用一時変数 QString str; // 以下は time_t tm として対応するものをコメ…