facebook twitter hatena line google mixi email
★お気に入り追加


  • 1
  •  
  • 2010/04/09(金) 15:12:36
クロスプラットフォーム GUI ライブラリの wxWidgets (旧 wxWindows)についてのスレ。

本家
ttp://www.wxwidgets.org/
wxWindows日本語プロジェクト
ttp://wxwindowsjp.sourceforge.jp/
Cross-Platform Programming with wxWidgets
ttp://wxwidgets.info/
Let's wxWidgets
ttp://dot-gray.s33.xrea.com/
wxWindowsで始めるC++ GUIプログラミング
ttp://www.h3.dion.ne.jp/~k5_n/wxwin/
wxWidgets でクロスプラットフォーム GUIアプリを作ろう
ttp://0xcc.net/pub/uu-2004-08/

前スレ
【GUI】wxWidgets(旧wxWindows) その4【サイザー】
http://pc12.2ch.net/test/read.cgi/tech/1214657360/

ここまで見た
  • 216
  •  
  • 2011/08/12(金) 18:09:42.10
wxSingleInstanceChecker
ttp://docs.wxwidgets.org/2.9.2/classwx_single_instance_checker.html

ここまで見た
  • 217
  • 208
  • 2011/08/12(金) 21:25:55.39
なんかいっぱい回答もらえた。ありがとうございます。
誤解を生んで申し訳ないんだけど、多重起動の禁止だけじゃなくて、
データを引き渡すってところまでがやりたいことなんです。

>>211
・メモリマップファイル
・共有メモリ
公式ドキュメントだけ読んで無いと思っていたんですが、
改めて調べたら5年前にパッチとして提出されてました。
「理由は言わないけど却下」と問答無用でRejectされてましたが、
普通に使えました(なんで却下されたんだろう……)

・TCP/IP
ちょっと大掛かりですが、確かにこれだとwxWidgetsのクラスのみで
クロスプラットフォームにいけますね。

・DDE/OLE/ActiveX
MSが意図しているアプリ間通信にはこれを使うべきなんですかね。
クロスプラットフォームからはかけ離れますが。


ここまで見た
  • 218
  • 208
  • 2011/08/12(金) 22:02:35.23
・ウィンドウメッセージ
はい。最初に書いたとおり、これは把握済です。
ただ、全トップレベルウィンドウを調べるwxWidgetsの関数って
無いですよね?(MS側のAPIはあるけど)

>>213
・起動済アプリを殺して自分が前面に出る
タスクバーに収納されていたり表に出ていたり、というアプリにしているので、
起動済のアプリのそれらの状態を把握するのにちょっと手間がかかりますね。
表示状態のコピーが不要なら確かに比較的手っ取り早いですが。

>>214
・作業ファイルにデータ書き込み&排他制御
大量のデータ通信をアプリ間でやるわけじゃないので、
手っ取り早く汎用性も高くwxWidgetsだけで完結しますね。
しかもクロスプラットフォームで安定している。なるほど。

皆さん色々な案の提示、どうもありがとうございました。

ここまで見た
  • 219
  •  
  • 2011/09/02(金) 20:17:08.41
今更なんですが、C++でGUIを考えた場合、wxWidgetsとQTが候補に挙がりましたが
両者の比較を書いているサイトや記事などありましたら教えてください。

ここまで見た
  • 220
  •  
  • 2011/09/02(金) 20:28:54.93
自分はQt側のことは知らないんだが、こんなサイトがある

wxWidgetsのススメ
http://up-cat.net/wxWidgets%A4%CE%A5%B9%A5%B9%A5%E1.html

ここまで見た
  • 221
  •  
  • 2011/09/02(金) 23:04:35.91
いまは VC2010Express でも wxWidgets 使えて便利だわ

ここまで見た
  • 222
  •  
  • 2011/09/02(金) 23:29:46.37
2.9.2落としてきてVC2008でビルドしてたけど、これgdgdすぎ
スタティックライブラリはできたけど、DLL版は全然ビルドできないわ、サンプルはデバッグ
ライブラリ用になってるからいちいち直さないといけない&直しても同じリソースがどうたら
でビルドできんし、Qtにいくわ

ここまで見た
  • 223
  •  
  • 2011/09/03(土) 00:34:44.80
おいらはMinGWでMakefile作りながらGUI作ってるよ〜 (^q^)

ここまで見た
  • 224
  •  
  • 2011/09/03(土) 01:05:50.35
ああ、早とちりすまん
結局添付されていたVC2008用のプロジェクトファイルがうんこで、VC6用の奴を変換して
ビルドしたらうまくいきましたわ
サンプルも同じでVC6用の奴を変換してビルドすると正常にビルドできました
悪口いってすまん、けどビルドできないVC2008用プロジェクトファイルって罠じゃないのか

ここまで見た
  • 225
  •  
  • 2011/09/03(土) 10:36:44.01
普通makefileの方使わない?

ここまで見た
  • 226
  •  
  • 2011/09/03(土) 11:45:57.63
nmakeしたらいきなりエラーで止まったし、ぐぐるとnmakeよりもVC++上でコンパイルする記事が多かった
ので、そうしてました。
お騒がせして申し訳ないついでに実は開発版の2.9.2をビルドしようとしてたみたいで、俺死にたい...
というより氏ね>俺

ここまで見た
  • 227
  •  
  • 2011/09/03(土) 12:10:03.39
VC使わないといけない理由があるんなら仕方ないけど
gccの方がすんなり行くんじゃないかなぁ。

ここまで見た
  • 228
  •  
  • 2011/09/03(土) 18:49:10.70
WinでgccというとMinGだよね?
たまたまVC入ってたからVCでやってたけど、MinGの方が捗るの?

ここまで見た
  • 229
  •  
  • 2011/09/03(土) 20:59:18.77
wxWidgetsの開発はLinuxのgccで行われてるだろうからMinGW+gccだと環境づくりが楽かも?
VCのことは知らないけどMinGWだと普通に2.9.2コンパイルできたし
コーディングの効率を考えるとVCのオートコンプリート機能が使えたら楽かもしれんが、たぶん出来んだろうしな


ここまで見た
  • 230
  •  
  • 2011/09/03(土) 21:56:21.73
winでわざわざMinGなんて使う必要ないよ。
VCでいい。

ここまで見た
  • 231
  •  
  • 2011/09/04(日) 17:11:05.31
MinGWだとEXEサイズ小さくなるかなと試してみたが、makeしてもlibができないなぁと1時間も
悩んでた、.aで正しいのにwww
アホすぎる俺
しかしwxWidgetsいいね、コントロールは揃ってるし、ドッキングもできる、開発版にすればリボンもどきも
使えるし、wxFormBuilder使えばGUIで画面組み立てられるし、とりあえず満足できる環境だし

ここまで見た
  • 232
  •  
  • 2011/09/04(日) 19:07:07.57
MinGWでビルドした奴とVC++2008でビルドした奴を比較してみたけど、
VC++2008でビルドしたサンプルauidemo.exeは6073KB、MinGWでは9761KB、stripかけて6645KBだった
どちらもデバッグなしのリリース版なんだけど、MinGWの方がでかくなるのね
Dumpbinで依存DLL調べてみたら、VC++2008の方は標準DLLのみでVCランタイム依存もなし
かたやMinGWはやり方が悪いのだろうけどlibgcc_s_dw2-1.dll、libstdc++-6.dllに依存してた
VC++2008の方が優秀な気がする

ここまで見た
  • 233
  •  
  • 2011/09/04(日) 19:22:45.46
>>232

MSYS上から、
g++ -static -o test.exe test.cpp `wx-config --cxxflags` `wx-config --libs`
こうかな?
-staticオプションつければOKのはず。

以下、wxをビルドしたときの設定。MinGW-w64でもいけました。
./configure --with-opengl --enable-ipv6 --disable-shared --disable-monolithic --enable-unicode --enable-official_build --disable-threads --prefix=/mingw


ここまで見た
  • 234
  •  
  • 2011/09/04(日) 19:51:43.28
ちなみにgccは-sオプションをつけると結構ファイルサイズは小さくなる

ここまで見た
  • 235
  •  
  • 2011/09/04(日) 19:52:42.86
あ、既出だった

ここまで見た
  • 236
  •  
  • 2011/09/04(日) 21:11:45.91
>>233-234
アホな俺にわざわざありがとう!
もう1回試してみます!

ここまで見た
  • 237
  •  
  • 2011/09/04(日) 22:39:22.73
>>230
なるほど人によるなあ。
俺なら「わざわざVC使わんでも、MinGでいい」って発想になるわ。

ここまで見た
  • 238
  •  
  • 2011/09/04(日) 23:30:54.03
>>233
ライブラリも作成し直し、サンプルもビルドし直しましたがサイズは6621KBでした
あとDLL依存はとれないのですね

ここまで見た
  • 239
  •  
  • 2011/09/05(月) 00:04:36.25
>>237
同意。
UNIX文化的には、gccが「標準」でVCは「非標準」って認識だからなぁ。

自分で何か書く時とか、「自分はgccしか使わないけど、Win使いのためにVCもサポートしてやるか」ってレベル。

ここまで見た
  • 240
  •  
  • 2011/09/05(月) 00:32:26.75
結局どっちの文化に属してるかによって
何がデフォで何がわざわざなのかが違うってことで。

で、wxそのものがUNIX文化なんだよな。

ここまで見た
  • 241
  •  
  • 2011/09/05(月) 12:01:41.27
>> 238
サンプルはそのままビルドするとDLL依存になるとおもう。

cd samples
make "LDFLAGS = -static"

こんな感じでいかかでしょ。


ここまで見た
  • 242
  •  
  • 2011/09/05(月) 19:03:01.60
>>241
いや、自分でmakeファイルに-static直書きしたけど駄目でした
まぁ、なんか勘違いしてるか頭がアホなんて理解できてないだけでしょう
とりあえずVCでも問題ないのでVCでやります、いろいろありがとうございました

ここまで見た
  • 243
  •  
  • 2011/09/05(月) 19:16:34.99
>>242
がんがれ。

ただ、オープンソース系のライブラリを今後使っていくんなら
いずれにしてもgcc系の流儀とかも覚えておいた方がいいと思うよ。

ここまで見た
  • 244
  •  
  • 2011/09/06(火) 00:10:08.28
call vcvarsall
pushd build\msw
nmake -f makefile.vc BUILD=debug UNICODE=1 USE_GDIPLUS=1 SHARED=1 RUNTIME_LIBS=dynamic
popd

こんな感じでいいんじゃね
あと2.9.2はstableじゃないけどいいの?

ここまで見た
  • 245
  •  
  • 2011/09/10(土) 20:25:18.76
質問お願いします。

http://www.dotup.org/uploda/www.dotup.org2004935.jpg

こういうよくある(名前、種類、ディレクトリ、サイズ)みたいなのを
表示したいんですがヴィジェットは何を使ったらいいでしょうか?
できれば画像のように名前のところの矢印みたいなのを付けたいのと
項目の順番をD&Dで入れ替えたり表示、非表示をポップアップメニューで行いたいです。
項目にはDBのカラムを割り当てたいと思っています。

ここまで見た
  • 246
  •  
  • 2011/09/10(土) 20:38:38.06
すいません、listctrlで出来そうですね。
なんでいつも質問した後は簡単に見つかるんだろう…

ここまで見た
  • 247
  •  
  • 2011/09/10(土) 23:30:44.52
age

ここまで見た
  • 248
  •  
  • 2011/09/11(日) 23:37:25.34
sage

ここまで見た
  • 249
  •  
  • 2011/09/20(火) 23:30:06.13
wxWidgetsのライセンスって何なの(L-GPL)?
これ使って書いたプログラムってソースコード開示する必要あるの?
教えてエロい人!!

ここまで見た
  • 250
  •  
  • 2011/09/22(木) 08:11:29.04
ゴメン、答えられるけどエロくない。

ここまで見た
  • 251
  •  
  • 2011/09/22(木) 12:00:14.06
インポ乙

ここまで見た
  • 252
  •  
  • 2011/09/22(木) 18:59:22.32
まあその質問はググッたらでてきそうだしな…
ところで組み込み用のwxWidgetsとかないんだろうか。

ここまで見た
  • 253
  •  
  • 2011/09/23(金) 14:09:14.39
>>249
試しにググッたら意外と出てこなかったので教えてやるでおじゃる
http://web.archive.org/web/20080919161353/http://www.geocities.co.jp/SiliconValley-Cupertino/8526/wxWindows/license.html
http://ms2.seesaa.net/article/3184354.html

ここまで見た
  • 254
  •  
  • 2011/09/23(金) 20:06:16.47
情報古過ぎないか

ここまで見た
  • 255
  •  
  • 2011/09/23(金) 21:55:11.24
世界線は変わらなかった

ここまで見た
  • 256
  •  
  • 2011/09/23(金) 22:27:50.66
つうか本家のホームページに書いてあるがな。

ここまで見た
  • 257
  •  
  • 2011/09/23(金) 23:34:52.13
これですね
http://www.wxwidgets.org/about/newlicen.htm

"wxWindows Licence"で配布されていて、
ソースコード開示の必要はないというのが一応の答えかな


ここまで見た
  • 258
  •  
  • 2011/09/24(土) 22:07:43.51
需要があるかどうか不明ですが。

wxWidgetsマニュアルにある Syntax of the builtin regular expression library の邦訳です。
拙作ソフト説明書の一部になっていますが、この頁の訳文に関してはご利用自由です。ただし独自訳多数。

http://h12u.com/hmo2/manual/%E8%A8%AD%E5%AE%9A%E7%AA%93%E5%8F%A3/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%E6%96%87%E6%B3%95.html


ここまで見た
  • 259
  •  
  • 2011/09/24(土) 22:23:14.63
>>258
乙です
てかwxWidgetsにも正規表現ライブラリあったんだな

ここまで見た
  • 260
  •  
  • 2011/09/24(土) 23:40:22.99
>>258
正格表現って初めて見たが、正則表現ではなくて?
POSIXブラケットのうち、[. .] [= =] [:<:] [:>:]とかって他のライブラリじゃほとんど見ないな。
[[=A=]]ってAやÄなどにマッチするんだっけ?

ここまで見た
  • 261
  •  
  • 2011/09/25(日) 20:52:38.34
>>260
ご指摘Thx. 直しておきました。どこで間違ったんだろう。

> [[=A=]]ってAやÄなどにマッチするんだっけ?
建前としてはそうなるはずだけど誰も実装してないとか何とか。よく知らないですが。
調べてみたら [. .] と [= =] の訳文はかなりおかしい気がしてきた。



ここまで見た
  • 262
  •  
  • 2011/09/26(月) 21:03:37.52
実は訳間違ってました[[=A=]]

ってかくと顔文字っぽい。

ここまで見た
  • 263
  •  
  • 2011/09/27(火) 09:53:24.70
POSIXって良く聞くけどなんですか?


ここまで見た
  • 264
  •  
  • 2011/09/27(火) 20:16:50.72
258です。訳文とかちょっと修正しました。ページ内部のリンクも増やした。

>>263
実は私もよく知らない。

ここまで見た
  • 265
  •  
  • 2011/09/27(火) 23:02:57.78
雲丹の標準規格じゃないの?

ここまで見た
  • 266
  •  
  • 2011/09/27(火) 23:05:37.07
http://ja.wikipedia.org/wiki/POSIX
POSIX(ポジックス パーズィックス、Portable Operating System Interface)とは、
異なる実装のUNIX OSを始めとする各種OSに共通のAPIを定め、移植性の高い
アプリケーションソフトウェアの開発を容易にすることを目的としてIEEEが策定した
アプリケーションインタフェイス規格である。

フリック回転寿司
フリックゾンビ
ここまで見た

★お気に入り追加

このページを共有する
facebook twitter hatena line google mixi email
おすすめワード