Qtをハクろう

1デフォルトの名無しさん
どうも日本のQt情報があんまり多くないみたいなんで建てました。
Qt関連の質問、雑談に使って下さい。
21:2001/07/16(月) 12:54
Trolltech http://www.trolltech.com/

日本KDEユーザー会 http://www.kde.gr.jp/index.php3
K Desktop Environment http://www.kde.org/index.html

正直どれほど書き込む人がいるか疑問なんですが、まぁ、逝ってみましょう。
3デフォルトの名無しさん:2001/07/16(月) 14:22
一気に冷えているのだが・・・

現状、KylixくらいしかQtを楽に扱えるものってなくないか?

ま、それは置いておいて
早速質問する。

WinAPIとWinのQtって結局同じモノを使っているんですか?
それとも、Qtっていうのはソースから完全にかかれているんですか?
4デフォルトの名無しさん:2001/07/16(月) 15:51
>>3
盛り上がらないのは承知のうえですね(藁
質問の意図がよくわからないけど、Qt(Win)はAPIを使って書かれていると思いますよ。
Winで言えば位置づけとしてはMFCあたりになると思います。
X版のソースを見るとOS依存の部分はhoge_unix.cppと別に書かれていて
実にうまく仕分けされています。
5デフォルトの名無しさん:2001/07/16(月) 16:08
X-QT が 結局は X を使って描画するように
Win-QT は GDI を使って描画します。
ただし、X だとツールキット、Win だと USER を使わず自前で実装しています。
ま、X の場合では自分自身がツールキットなんだけどね。

X-QT と Win-QT はほとんど(9割以上)同じものです。
プラットフォーム依存部分を切り分けている。

あと、知りたいことは?
6デフォルトの名無しさん:2001/07/16(月) 16:53
>>4-5
サンクス。
>Win-QT は GDI を使って描画します。
つーと、WinAPIのコントロールは使わずに描画しているって事ですよね。

そうじゃないと、クロスは難しいなとは思っていたんです。
APIのバグに悩まされるときもありますしね。

知りたい事は....

WinAPIのコントロールとWinQTとの互換性はどの程度のものですか?
ほぼ完璧?(な気はしてます。)

互換性と相違点が知りたいです。
Qtの方がコントロールが多いとかそういう点。

Delしか氏らないので知識ないですがよろしくぅ
7デフォルトの名無しさん:2001/07/16(月) 16:54
age
8デフォルトの名無しさん:2001/07/16(月) 17:02
>>6
Qt提供のライブラリーを使っている限りほぼ完全互換だと思いますよ。
ネットワーク部分で
「Winの糞ったれめ。この機能が提供できないじゃないか」
ってぼやきがソースにあったのを見かけた事はありますが(藁
WinAPIをじかに使うソースがそのまま他OSで使えないのは当然わかりますよね..
91:2001/07/16(月) 17:09
>>5
USER使ってないんですね、知らなかったです。
>>8
Q???CodecのDetailed Descriptionより
「It was largely written by Serika Kurusugawa a.k.a. Junji Takagi」
こういうジャブを見かけると喜んでしまうのは私だけ?:-)
10デフォルトの名無しさん:2001/07/16(月) 17:23
>>6
>WinAPIのコントロールは使わずに描画しているって事ですよね。
>そうじゃないと、クロスは難しいなとは思っていたんです。

蛇足だけど難しいとは限らないよね。
javaのawtは環境(OSとか)側のコントロールを使っていた。
Swingは使っていない。 #後者はLightWeight型と呼ぶそうだね。
どっちの形態もありえる。

ただ、環境が違ってもLookAndFeelを「そろえる」のは
awt方式じゃ苦しいが。

たしかQtもSwingと同様に
LookAndFeelに対する自由度が有るんだったよね。
やっぱり後者のほうが色々有利だということなのかな。

>>8
>WinAPIをじかに使うソースがそのまま他OSで使えない

QtはGUIはラップしてるけどNetworkはラップしてないってことですか。
#del/kylixは…コンポーネントが有るかも。
118:2001/07/16(月) 17:31
>>10
いえっ、一応きちんとラップしてると思いますよ(想像ですが
ただソケットのロックか何か、RAWな部分が移植できてないような記述を見かけたことがあります。
#詳しいことは忘れました(汁
普通のアプリケーションを作るぶんには問題ないと思われます。
12デフォルトの名無しさん:2001/07/16(月) 17:35
どこかにQtのサンプルソースいっぱい転がってませんかね?
qt-develについてくるサンプルだけではちともの足りません。
13デフォルトの名無しさん:2001/07/16(月) 17:53
>蛇足だけど難しいとは限らないよね。
>javaのawtは環境(OSとか)側のコントロールを使っていた。
>Swingは使っていない。 #後者はLightWeight型と呼ぶそうだね。
>どっちの形態もありえる。

へー。勉強になるー。arigato

>ただ、環境が違ってもLookAndFeelを「そろえる」のは
>awt方式じゃ苦しいが。

そうですね。QtのLookのタイプはもう増えないのかなあ。

Aquaなんて、実装されないか?(´∀`)


気になるのですが
Del6ではCLXでQtラッピングしているはずですが
そこではいわゆるWinAPI直叩きでコントロールに
指令を与えることは不可能なんでしょうか?
QtがWinAPIのものと別のものなら当然無理でしょうけど。
14デフォルトの名無しさん:2001/07/16(月) 18:39
>WinAPI直叩きでコントロールに指令を与えることは

VB 上がり? WinAPI って特殊なものではないからね。単に MicroSoft の OS が提供している、って程度の意味だけ。
んで、Windows 標準コントロールを使っていないのだから、Windows 標準メッセージを受け付ける保証はない。
保障されるのは QT メッセージ(イベント)のみ。と信じておいたほうがよい。

厳密には、たとえば IME まで実装するわけには行かないから WM_CHAR や WM_IME_xxx に対する処理は
行っているようだけど。そこをどこまで便利にしつつ Windows に依存しないように調整するか。ってのが
この手のライブラリのメンテナーのつらい(かつ楽しい)ところ。

QT2.1 あたりのときは、日本語入らなかったしね。それを考えると
QT2.3 はだいぶよくなった。
15デフォルトの名無しさん:2001/07/16(月) 19:43
>>14
del上がりの場合もありますm(__)m。
俺もdelオタなんだけど、APIには極力依存しないよーにしよーぜって
前から言ってたつもりなんだけど、どうもみんな聞き入れてくれなくて…

いや、それはいいとして。

Windowsがいうところの「ハンドル」だな問題は。
これを取得していじれるのと、かついじっても安全
(Qtに既にあるObjectの挙動とバッティングしない)なのと、を
満たすならば、原理的にはやれるだろう。

ただ、Swing方式(?)だと、そもそもWindowHandleと
Qtが提供しGUIレベルで見えるObjectとが
一対一に対応しないから、凄く面倒なことになると思われ。
どのGUI部品にきたメッセージなのか?というところで
まず悩み苦しむだろうな。
16デフォルトの名無しさん:2001/07/16(月) 20:36
del上がりのKylixユーザーが多いんだね・・・。
progen→tmake→make
するのは少数派なのかな?
早くcpp/Kylixが出て欲しいもんだ。
17デフォルトの名無しさん:2001/07/16(月) 20:54
>del上がりのKylixユーザーが多いんだね・・・。
KylixユーザーはDel上がりしかいない気が…

>早くcpp/Kylixが出て欲しいもんだ。
C++使いならObjPascalは簡単っすよ。
18デフォルトの名無しさん:2001/07/17(火) 10:05
誰か、ブラウザを作って
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=981465362
にあった書き込みだけどNetRaiderというのはQtで書かれているらしい。
一度覗いてみようかな。
http://mandragon.org/raider/
19デフォルトの名無しさん:2001/07/17(火) 10:30
>>16
> 早くcpp/Kylixが出て欲しいもんだ。
プリプロセッサしかないの?
2018:2001/07/17(火) 11:04
ブラウザというのを甘く見てたよ。
コンパイルが終らねー。
これでエラー起きたら欝だな.....って書いてたらエラー起こしやがった。
欝だ..
21デフォルトの名無しさん:2001/07/18(水) 01:33
かなりマンセーなものを発見したよう。
みんな知ってるかもしれんが...
emacsでQtをがつがついじる時に役にたちそう。
ただ、スキルが足りなくてどうインストールしてどう使えばわからないさ(藁
.emacsは置き換えたくないしなぁ...
http://www.dotemacs.de/dotfiles/JanBorsodi/JanBorsodi.emacs.html
22デフォルトの名無しさん:2001/07/18(水) 01:56
>>18
でもなあ、w3mが絵を表示できるようになっちゃったじゃん>slashdotJ
軽量ブラウザ戦争(というほどでもないが)は
w3mで決定だと、結構マヂに思うんだけど。

あとJavaScript対応もやろうとしてる人いるようだし。
23デフォルトの名無しさん:2001/07/18(水) 11:39
>>22
どこかw3mを携帯に搭載してくれないかな?(藁
24デフォルトの名無しさん:2001/07/30(月) 00:30
Qt non-commercial edition for Windows を使ってます。
これのデフォルトのプロジェクト設定だとコンパイラオプションに
/D "UNICODE"
が入っていて、APIの呼び出しをしようとしたら文字列が wchar_t
でないと通りません。
QString から wchar_t のUNICODE文字列に変換するのに良い方法は
ないものでしょうか。 unicode() だと、ゼロ終端されないようです。
とりあえず
wcsncpy(UnicodeText,(wchar_t*)QsText.unicode(),QsText.length());
とやってみましたが、妙な遠回りをしているみたいな気がします。
25デフォルトの名無しさん:2001/07/30(月) 11:59
Quick Time?
26大和魂:2001/08/06(月) 13:25
QTデザイナで日本語は正しく使用できますか?
今やってみると、Windows2000上でQtデザイナからは
入力できない漢字があります。 (すべてではありません、一部だと思います)
フォント設定は MS P ゴシックです

"弘" 、"明"など
27デフォルトの名無しさん:2001/08/06(月) 17:07
hage
28デフォルトの名無しさん:2001/08/06(月) 17:09
それって、QT のバージョンが古いからでは? 2.3 つかいな。
29大和魂:2001/08/06(月) 17:31
2.3です。
30デフォルトの名無しさん:2001/08/06(月) 23:35
>>26
Qt Designer を初めて起動してみました。
んで、File - New - Dialog を選んでから、フォームの真中に
ボタンを置いて「名前は弘明」 と入力したのですが、とりあえず
入力はできたみたいですよ。ファイルに保存して、再度読み込んで
もおかしくはならなかったし。
プロジェクトに組み込んだときにどうなるかはわかりませんです。

あ、Qt は Windows版 Non commercial で OS はWin2000でした。
31デフォルトの名無しさん:2001/08/07(火) 00:00
http://hp.vector.co.jp/authors/VA013477/delphi/delinfo/del6/del6004.html

Windows Motif Platium QtSGI

これってQtの機能なんですよね。
じゃヴぁみたいでかこイィd(・∀・)
32大和魂:2001/08/07(火) 11:22
Qt 2.3 Evaluation だと発生し、Non-Comercial Edition だと
正常だという事が判りました。
33デフォルトの名無しさん:2001/08/08(水) 01:45
ところで、'ハクろう'のハクってどういう意味?
34デフォルトの名無しさん:2001/08/08(水) 02:19
>>33
八苦
35デフォルトの名無しさん:2001/08/08(水) 02:24
hack でしょ
どっちかというと厨房用語。
36デフォルトの名無しさん:2001/08/08(水) 02:29
>>35
え!!
普通、カーネルのソースとか、でかいプログラムのソース見るときとかに使わない?
なに!!おれ厨房?!
37デフォルトの名無しさん:2001/08/08(水) 02:39
>>35
もともと厨房用語じゃなかったんだけど、
厨房(つまりCracker)どもがそれを真似たんだな。
そうすりゃ自分もカッコよくなれるとでも思ったんだろう。

ところがいつのまにか、数の論理(本物のHacker(技術者)より
Crackerくずれの厨房のほうが数は多いからね)のせいか、
世間様は偽者のほうを認知するようになっちまった。

以上。
38デフォルトの名無しさん:2001/08/08(水) 14:43
香取慎吾と山寺宏一の法則、とも言われる。
39デフォルトの名無しさん:2001/08/08(水) 16:21
香取慎吾の方がかっこいいから
ハクろうも広めたらよし
40デフォルトの名無しさん:2001/08/08(水) 16:39
でも、kernel hackerとかperl hackerとか
「すごく詳しい人」の意味で使うけどなあ
41デフォルトの名無しさん:2001/08/08(水) 21:00
すさまじくソースをほげってる人をwizardとか言ったりするね
目指せQt wizard!
42デフォルトの名無しさん:2001/08/08(水) 22:01
>>でも、kernel hackerとかperl hackerとか
>>「すごく詳しい人」の意味で使うけどなあ
使いません。
43デフォルトの名無しさん:2001/08/08(水) 22:28
>>42
そうか?使うところでは(わら)使ってるぞ。

つまり、喜ぶべきか悲しむべきかは別として、「数」の問題。
使ってる人もいるけどメジャーには乗っていない。

そういやYet Another Perl/Ruby Hackerって遊びもあったね。
Qtでも同様に遊ぶことが出来る…かな?
まあ言語は(bindが有るならば)なんでもいいんだけど。
44デフォルトの名無しさん
Qtをほげってます。
QNetworkProtocol::QNetworkProtocol()の中で
if ( url() ) {
が実行される→url()が真を返す時ってのがわからないんですけど。
これって必ず偽のような気がするんですが。