日記

ただの日記

QuaZIPをビルド【Windows】

Qt

QuaZIPをビルドする。Windows上のQtを使っている。 QuaZIPでDLLを作成し、DLLを自分のアプリケーションから呼び出すということをやった。 一応動いたが、他のサイトでやってることをいまいち理解できないまま、 こうやったらできるんじゃねという適当な考え…

QtのGUIがなんか重いという問題

Qt

Qtを始めてデバッグなんかをしていたら、どうも昔に比べて思いなーと思っていた。それはメニューバーの反応が遅かったり、Windowサイズを調整すると再描画がされなかったり、というような現象でJavaのGUIアプリケーションを触っているようなイメージだった。…

QFileSystemModelを見る(QML)

Qt

Qtのモジュールはドキュメントがしっかりしてるけど、 使うとなるといまいちどうやって使えばいいのかわからない…… いちいち日本語にまとめるのは時間がかかりすぎるんだけど 勉強し始めということで、ファイルを扱う"QFileSystemModel"についてだけとりあえ…

Qtでの".ui.qml"と".qml"

Qt

Qt CreatorではQMLを記述するためにファイルを新規作成すると、 .ui.qmlと.qmlが自動生成される。 .ui.qml 動作ではなくUI部分だけを作成するものである。 自動生成すると「main.qml」なら「MainForm.ui.qml」というような名前になる。 ここにスクリプト(on…

QObjectを継承するとエラーでビルドできない [undefined reference to vtable for ~]

Qt

これで一日が潰れたorz vtableというのはQt特有のものではなく、 仮想関数テーブル(virtual method table)というものであるらしい。 調べると(wikipeida)ポリモーフィズムを実現するために内部で実装されていることだけわかった。 コンストラクタのオーバ…

Qtについて調べる

Qt

ElectronもいいけどQtもいい。 Qtを始めようとするとまず、Qtがなんなのかよくわからなくなる。 プログラムだけで動かしているようなサンプルもあるしQMLとかいう謎の言語を使っているものもある。それにQt QuickとかQt Widgetとかよくわからない!開発環境…

純粋仮想関数に関するサンプル

C++

純粋仮想関数とはオーバーライドされることを前提とした関数である。 だから基底クラスでインスタンス化できない。 基底クラスの型に継承したクラスの実態を代入できる。 この場合、基底クラスのメソッド及び、基底クラスで宣言した仮想関数を オーバーライ…

C++のSTL

C++

C++におけるSTLとはStandard Template Libraryのことである。 標準のtemplateクラスを提供している。よく使うっぽいので簡素にまとめる。

C言語->C++で見つかる不思議な文法

C++

C++を始めたときにJavaともC言語とも似つかないよな文法があって困ったので書く。 参考サイトを見ながらムムっと感じたところをメモっているので、網羅性はない。