- 1 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 04:30:09 ]
- Qt(キュート)は C++ ベースのフレームワーク&RAD開発環境です。
ライブラリの機能は、フォーム、ボタンなどの各種ウィジェットからネットワーク、マルチスレッド、 グラフィックス(OpenGL)や各種コンテナ、XMLパーサー、組み込み JavaScript など、非常に多岐に渡ります。 公式の統合開発環境「Qt Creator IDE」を使えば、クロスプラットフォーム対応のRAD開発が可能です。 また、EclipseやVisual Studio上で開発したい人のためのアドインも用意されています。 ■主な対応プラットフォーム(デスクトップ用途の場合) Windows XP, Vista, 7 Mac OS X 10.4, 10.5, 10.6 Linux ■ライセンス ・オープンソース版(Open-source version) LGPL 2.1 または GPL 3.0 のうちどちらかを利用者が選べます。 LGPL を選んだ場合はソースコード非公開のままでの商用利用が可能です(いくつか制限あり)。 ※正確には通常「LGPL+商用利用向きの例外条項」を選ぶことにな7ります(Qtインストール先の「LGPL_EXCEPTION.txt」を参照)。 ちなみにGPLでも商用利用が不可能というわけではありません、念のため。 ・商用版(Commercial version) こっちはNokia社か日本の代理店(SRA社)とライセンス契約(年間30万くらい?)を結んで使います ■Qt を使って作られたソフト例 KDE、Adobe Photoshop Elements、Google Earth、Skype、DAZ Studio など ■前スレ 【RAD統合環境】 Qt 総合スレ 7 【Win/Mac/Linux】 pc12.2ch.net/test/read.cgi/tech/1270309416/
- 75 名前:デフォルトの名無しさん mailto:sage [2010/08/15(日) 21:45:10 ]
- >>71
GWTのコードかと思った(爆笑)
- 76 名前:71 mailto:sage [2010/08/15(日) 22:28:23 ]
- すみません
>結果は下記のようになってしまいました。(改行やインデントは削除しています) ><root><test>TEST</test><test>TEST!</test></root> ではなく<root><test>TEST</test></root><root><test>TEST</test><test>TEST!</test></root>です。 >>72 すみません、書き間違いがありました。 >>73 Qtでやることばかり考えていて完全に盲点でした。 >>75 すみません。
- 77 名前:デフォルトの名無しさん mailto:sage [2010/08/16(月) 09:07:52 ]
- どいういたしまして
- 78 名前:デフォルトの名無しさん mailto:sage [2010/08/16(月) 11:12:38 ]
- >>76
>ではなく<root><test>TEST</test></root><root><test>TEST</test><test>TEST!</test></root>です。 それはファイルの扱いがおかしい。outに追記しているだけ。 >>71 のコードからは71に書いてある結果が得られる。 rootからfirstChildElementでtestを取得して、replaceChildで置き換えたらうまく行った。
- 79 名前:デフォルトの名無しさん mailto:sage [2010/08/16(月) 11:59:46 ]
- ありがとうございました
- 80 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 09:42:15 ]
- どいういたしまして
- 81 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 22:03:02 ]
- おっと、どういたしましてを言うのは俺だ
- 82 名前:71 mailto:sage [2010/08/18(水) 01:07:00 ]
- >>78
ファイルの扱いがおかしいというのはどういう事なのでしょうか。 replaceChildに変更しただけだと特に結果は変わりませんでした。 file->open(QIODevice::ReadWrite)で開いて、最後にdomDocument.save(out, 4)で上書きになって欲しいのですがこれだと追記になってしまいます。 読み込みに使ったXML以外のファイルを保存先に変更したら上手く?いったのですが、読み込みに使ったファイルを上書きしようとしても追記になってしまいます。 現在のコードです。行数制限のため改行やif文を外してあります(動作は確認済みです) QDomDocument domDocument; QFile *file = new QFile("/home/hoge/test.xml"); file->open(QIODevice::ReadWrite); domDocument.setContent(file, true); QDomElement root = domDocument.documentElement(); QDomElement newTitleElement = domDocument.createElement("test"); QDomText newTitleText = domDocument.createTextNode("TEST!"); newTitleElement.appendChild(newTitleText); root.appendChild(newTitleElement); QDomElement newChild = root.firstChildElement("test"); domDocument.replaceChild(newChild, domDocument); QTextStream out(file); domDocument.save(out, 4); file->close();
- 83 名前:デフォルトの名無しさん mailto:sage [2010/08/18(水) 01:32:29 ]
- qtで高精度タイマを使う方法はないのでしょうか?
- 84 名前:デフォルトの名無しさん mailto:sage [2010/08/18(水) 03:30:33 ]
- ファイルをREADで開く
XMLからDOM生成 ファイルを閉じる DOM弄る ファイルをWRITEで開く DOM書き出し ファイルを閉じる
- 85 名前:デフォルトの名無しさん mailto:sage [2010/08/18(水) 09:11:45 ]
- >>82
なんで root に appendChild した後に domDocument に replaceChild してるんだ。 そのコードだと replaceChild 失敗してるだろ。返り値チェックしてみろ。 API のドキュメントよく読め。
- 86 名前:デフォルトの名無しさん mailto:sage [2010/08/18(水) 10:04:42 ]
- Qt関係なくね?
|

|