[Qt-users:476] Re: Qt5を日本語で学びたい

Kenji Sugita kenji @ j04.itscom.net
2015年 11月 11日 (水) 16:49:49 JST


> 2015/11/08 15:07、Kenji Sugita <kenji @ j04.itscom.net> のメール:
> 
> 
>> 2015/11/02 23:08、Takanori Murahashi <reah.at @ gmail.com> のメール:
>> 
>> はじめまして。村橋と申します。
>> 
>> GUIのツールをサクッと作ってみたいと思い、Qtを学ぼうと思ったのですが、
>> 恥ずかしながら英語が苦手なため(チュートリアルも英語ですし)ハードルを感じています。
>> (可能な限り日本語で学びたいと思っています)
>> 
>> 日本語の書籍はいくつか出ているものの、どれもQt4のものだったり、Qt Quickのものであったりします。
>> 新しくQt5でQtを始めるにあたり、Qt4のものを購入しても問題ないのでしょうか。
>> (Qt4 - Qt5間でそれなりの互換性はあると聞きますが、どの程度の違いがあるのか分かっていないので不安です)
> 
> 違いについての資料です。
> 
>    Porting Guide | Qt 5.5
>    http://doc.qt.io/qt-5/portingguide.html
> 
>    Porting C++ Applications to Qt 5
>    http://doc.qt.io/qt-5/portingcppapp.html
> 
>    C++ API changes
>    http://doc.qt.io/qt-5/sourcebreaks.html
> 
>    Porting from Qt 4 to Qt 5
>    http://www.kdab.com/porting-from-qt-4-to-qt-5/
> 
>    Automated porting from Qt 4 to Qt 5
>    http://www.kdab.com/automated-porting-from-qt-4-to-qt-5/
> 
> 
> 入門 Qt 4 プログラミングでの違いです。

chap06/mdieditor の他は Qt 4 と Qt 5 のどちらでも動くように修正したものと
差し替えていただきました。chap14/ftpget、httpget、spider は QFtp と QHttp 
の Qt 5 互換モジュール QtFtp、QtHttp で動くように修正してあります。

http://www.oreilly.co.jp/pub/9784873113449/examples.zip

>    .pro への追加
>        greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
> 
>    .cpp への追加
>        #include <QtGui>
>        #if QT_VERSION >= 0x050000
>        #include <QtWidgets>
> 
> ほとんどは上記修正で Qt 5 でもコンパイルして動かせます。さらに修正が必要なのは
> 以降の通りです。
> 
>    chap05/iconeditorplugin、chap19
>        プラグイン API 変更に対する修正が必要。
> 
>    chap05/plotter
>        QPixmap::fill(QWidget*, x, y) が非推奨となるだけでなく、
>        正しく動かなくなっている (ゴミが一面に表示される) ので修正が必要。
> 
>    chap06/splitter
>        QTextCodec::setCodecForCStrings() が削除されたことへの修正。
> 
>    chap06/mdieditor
>        QWorkspace が削除されたので MDI で書き換える必要がある。英語版の第二版では
>        書き換えてある。
> 
>    chap08/tetrahedron
>        GLUT/glut.h または GL/glu.h をインクルード、GLU をリンクするように修正
>        する必要がある。
>        Qt 5 の途中で OpenGL は API が大きく変わっていて古いままでもまだ動くが、
>        新しい API に書き換えた方がよい。
> 
>    chap10/citieschap、currencies、regexpparser
>        モデルの reset() が削除されたことへの修正が必要。
> 
>    chap10/directoryviewer
>        setClickable() を setSectionsClickable() に変更。
> 
>    chap10/settingsviewer
>        setResizeMode() を setSectionResizeMode() に変更。
> 
>    chap12/imageconverter、chap18/imagepro
>        QDir::convertSeparators() を QDir::toNativeSeparators() に変更。
> 
>    chap14/ftpget、httpget、spider
>        QFtp と QHttp が削除されたので Qt 5 用の QFtp と QHttp を別にインストール
>        するか QNetworkAccessManager で書き換える。
> 
>    chap14/tripserver
>        incomingConnection() の引数の型が int から qintptr に変更。32 ビットでは
>        変更しなくても動作するが 64 ビットでは動作しなくなる。
> 



Qt-users メーリングリストの案内