過去の記事は↓
QtをVisual C++ 2008 Express Editionで使えるようにしてみる: Qtで遊ぶ 其の1
こつこつとQt使ってアプリ作ってます、、、
非Qtアプリから使われることを前提としたDLLでQtを使うのは面倒くさい
QtアプリからQtを使ったDLLを使うのは割かし簡単のようでサンプルも多数あるようだけど非Qtアプリからの場合はサンプルが見つからなかった。
状況が特殊といえば特殊なのだがちょっと面倒。
結局のところ、DLL側でスレッドを立ててそこでメイン処理を動くようにしてあげないといけなかった。
しかし、このスレッドが曲者でQtのスレッドを使おうとするとうまくいかないので結局ネイティブのスレッドを使うというなんとも不恰好な結果に、、、
hspdbg at master from sharkpp/hspide - GitHub
QSyntaxHighlighterで正規表現を使っては駄目
QSyntaxHighlighter
でQRegExp
を使うとめちゃめちゃ遅くなる。
一行ごとに処理を呼び出しているため、数十行程度であれば問題ないが、1000行とかになってくると目も当てられないぐらい遅い。
正規表現を使わず自力で字句解析処理を行ったところ十分実用に耐える処理になった。
ちなみに、QtCreatorも自力で字句解析を行っている。
QTreeViewなどのカラムの文字列の右揃え方法
Qt::TextAlignmentRole
を Role に指定し、値を Qt::AlignRight
にすればOK
QSortFilterProxyModelをQTreeVeiwなどのモデルに使った時のdoubleClickedシグナルなどの処理
QSortFilterProxyModel::mapToSource()
を使ってインデックスを変換してあげればOK
Qt-interest Archive - QTreeVie, QSortFilterProxyModel and double click signal
とりあえず、こんなものかな、、、
今回は余りメモを取っていなかったorz