【GUI】wxWidgets(旧wxWindows) その5【サイザー】 (960レス)
1-

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

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

前スレ
【GUI】wxWidgets(旧wxWindows) その4【サイザー】
2chスレ:tech
2: 2010/04/09(金)15:13 AAS
>>1

3: 2010/04/09(金)16:33 AAS
早すぎね?
4: 2010/04/09(金)19:39 AAS
関連スレ

【RAD統合環境】 Qt 総合スレ 7 【Win/Mac/Linux】
2chスレ:tech
5: 2010/04/09(金)19:46 AAS
早すぎだろ
6: 2010/04/09(金)19:47 AAS
>>1

7: 2010/04/09(金)19:48 AAS
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
8: 2010/04/09(金)19:52 AAS
━━━━━━━━〓〓〓〓〓〓〓〓 アイちゃんキター 〓〓〓〓〓〓〓〓━━━━━━━━

とりあえず>>1
9: 2010/04/09(金)22:06 AAS
>>1
10: 2010/04/09(金)22:36 AAS
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!
11: 2010/04/09(金)22:38 AAS
    ヘ⌒ヽフ
   ( ・ω・) ??
   / ~つと)
12: 2010/04/10(土)01:23 AAS
この早漏め
13
(1): 2010/04/10(土)11:40 AAS
.Netスタイルのメニュー表示できないの?

http://www.dotup.org/uploda/www.dotup.org798064.gif

左:.Net 右:wx
14: 2010/04/10(土)13:16 AAS
>>13
無理なような希ガス。自作するしかないような…(ツールバーならwxAuiでそれらしく見せれるけど)
15: 2010/04/14(水)16:37 AAS
    ヘ⌒ヽフ
   ( ・ω・) ??
   / ~つと)
16: 2010/04/24(土)09:25 AAS
wxPython で作った pnl (=wx.Panel) に書いた画像は取得&保存できた

from wx.lib.colourchooser.canvas import BitmapBuffer
import wx
bb = BitmapBuffer(width, height, wx.Colour(0, 0, 0))
bb.Blit(0, 0, width, height, wx.WindowDC(self.pnl), 0, 0)
bmp = bb.GetBitmap()
bmp.SaveFile(u'できたよ.png', wx.BITMAP_TYPE_PNG)

ちなみに Win32API を使うとこんな感じになるみたい
http://www.sm.rim.or.jp/~shishido/wincap.html
17: 2010/04/26(月)14:59 AAS
    ヘ⌒ヽフ
   ( ・ω・) ??
   / ~つと)
18: 2010/05/02(日)20:44 AAS
    ヘ⌒ヽフ
   ( ・ω・) ??
   / ~つと)
19: 2010/05/02(日)21:09 AAS
クライアント領域だけ透過させることって出来ないか?
20: 2010/05/03(月)11:45 AAS
出来る
21
(1): 2010/05/09(日)16:02 AAS
こういう画像表示をwxPythonでやりたいのですけど

Osiva transparent image viewer, Kent Stork
http://www.noping.net/kent/osiva/

画像を、ウインドウ枠無しで、デスクトップにずらずらと表示したいのですが、どこらへんをとっかかりにして始めたらいいのか分かりません。
「このサンプルが役に立つんじゃねえか?」みたいな意見を聞かせてもらえると嬉しいです。

はねまわるウインドウな例
http://python.matrix.jp/projects/wxPython/bounds.html

たぶんこのサンプルが役立ちそうな気はしてるんですが、このサンプルでは1つのframeしか表示してなくて…
複数のframeを表示することなんて、wxWidgetsで可能なんでしょうか?
もし、できないとしたら、frameの代わりに何が使えそうなのでしょうか…?
あるいは、1つの透明なframeの中に、個別にbitmapを表示する感じになるのでしょうか?
22: 2010/05/10(月)00:17 AAS
可能
23
(1): 2010/05/10(月)01:27 AAS
>>21
サンプルの

  app = wx.App(False)
  frame = MainFrame()
  app.SetTopWindow(frame)
  frame.Show()

のところを

  app = wx.App(False)
  frame = MainFrame(None)
  frame1 = MainFrame(None)
  frame2 = MainFrame(None)
  app.SetTopWindow(frame)
  frame.Show()
  frame1.Show()
  frame2.Show()

と書き換えて実行してみ
24
(1): 2010/05/10(月)03:30 AAS
WinMainから始まる既存のC&Win32ソースに
wxを組み込むのはどうすればいいのでしょうか?
SDKメインフォーム+モードレスダイアログ
のダイアログ部分を差し替えるイメージです

以下のソースではOnRunを呼ぶと制御が戻ってきません。
それ用のthreadを作れば何とかなるのですが
もっとシンプルに出来た記憶があったのですが・・・
wxApp* app = new MyApp();
wxApp::SetInstance(app);
int argc=0; wxChar** argv=NULL;
wxEntryStart(argc,argv);
wxTheApp->CallOnInit();
wxTheApp->OnRun();
while(GetMessage(&msg , NULL , 0 , 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
wxTheApp->OnExit();
wxEntryCleanup();
25
(1): 2010/05/10(月)06:23 AAS
答えは前スレにて
26: 2010/05/10(月)16:42 AAS
>>25
前スレのどこ?アンカおねがい

とりあえずOnRunをコメントアウトしたら上手く動いているようではあるけど
もっときれいにやれてた気がするんだよなぁ
27: 2010/05/12(水)00:56 AAS
>>23
ありがとうございます!
やってみたらframeが複数表示できました。
件のサンプルを参考にして勉強したいと思います。
28: 2010/05/17(月)04:01 AAS
>>24
wx.netに入ってるwx-c.dllを使う
29
(2): 2010/06/07(月)13:24 AAS
wxWidetsをlinuxでコンパイルしてdemoやsamplesが正常に動くことを確認.

しかし
そのlinuxにOSXからssh-Xとかssh -Yとかで接続して,
sapmeles/openglのcubeとかisosurfとかpenguinを実行すると
ウインドウは出てくるけどopenglの描画がされないんだけど仕様なの?

ssh越しでもdemo(lifeとか)やopenglを使わないsamplesは普通に動くんだけど.
30: 2010/06/21(月)12:42 AAS
WindowsのwxWidgetsってウィンドウの状態おかしくなってHideやShowが効かなくなったりIsShownOnScreenが変な値返してると思ってたら
他プロセスからのShowWindow、SendMessage、PostMessageとかメッセージ全部拾わずそのままDefWindowProcに渡してイベント上げてこない
そのくせ、自分自身でウィンドウの表示状態管理してるから不整合起きまくり

HWND取得してWin32APIで状態確認してWin32APIで処理しなきゃダメだ
自プロセスが出した命令のイベントしか上げてこないならEVT_SHOWなんていらないだろ
31
(1): 2010/06/21(月)13:01 AAS
>>29
オーバーレイをお古
かくかくのろのろだけど
32: 29 2010/06/21(月)16:22 AAS
>>31
駄目.なんにも変わらない.
33: 2010/06/21(月)22:49 AAS
gtkより歴史が古いことに驚愕
34
(1): 2010/06/22(火)01:04 AAS
gtkは糞
35: 2010/06/22(火)01:10 AAS
>>34
頑張って置き換えてくれ
36: 2010/06/24(木)03:29 AAS
gtkしかよう知らん.あれは糞なのか?
qtとwxだとどっちが糞なんだ
37
(2): 2010/06/24(木)04:07 AAS
ライセンス的には一部デフォルト設定から機能オフしないといけないけどwxが自由度高い
38: 2010/07/10(土)02:27 AAS
>>37
その辺の話ってどこかにまとまってたりしますか?
39: 2010/07/10(土)02:56 AAS
http://bf109.seesaa.net/article/9267915.html
40
(1): 名無しさん@そうだ選挙に行こう 2010/07/10(土)07:39 AAS
スレ2にまとめがあったけど

GPL - コピペしてもリンクしても感染
LGPL - 動的リンクすれば影響しないが、静的リンクやコピペでは感染
wx - バイナリになっていれば煮ても焼いてもいい。コピペでは相変わらず感染

ということでいいのかな。
>>37は知らないがどういうこと?
41: 名無しさん@そうだ選挙に行こう 2010/07/10(土)09:12 AAS
>>40
wxが余計に解らない

LGPLをゆるくしたものじゃね?
42: 名無しさん@そうだ選挙に行こう 2010/07/10(土)14:10 AAS
567 デフォルトの名無しさん [sage] 2009/10/17(土) 02:23:53 ID: Be:
    http://www.wxwidgets.org/about/newlicen.htm
    The wxWindows Licence is essentially the L-GPL (Library General Public Licence)
    wxWindows ライセンスは 本質的にはLGPL

    QtがLGPLになって企業サポートがついたいま
    wxWindowsに利点があるのだろうか?
43: 名無しさん@そうだ選挙に行こう 2010/07/11(日)02:01 AAS
wxそのものに手を加える場合はLGPL。
単に自分のアプリを作るためのライブラリとして考える場合はバイナリで
自由に使える。ソースコードつけなくてもリンクしようが配布しようが自由。
44: 名無しさん@そうだ選挙に行こう 2010/07/11(日)15:48 AAS
はじめまして。
wxWidgets(wxWindows)日本語ドキュメントプロジェクトの方々に連絡を取った所
既に更新停止しているとの事なので、プロジェクトを移管して頂きSourceForge.netで
新たにプロジェクトを作りました。これからv 2.8 の翻訳を完成に向けて開始したい
と思っています。

https://sourceforge.net/projects/wxwidgetsjpdoc/

翻訳作業の出来る方募集中です。どうぞご参加ください。
45: 2010/07/23(金)01:13 AAS
そうなのかー、乙です。
wxはポータブルなんで、日本でももうすこし広がるといいですね。
46: 2010/07/24(土)21:05 AAS
wxErlang って組み込みになったのか。
http://www.erlang.org/doc/apps/wx/

Erlang/OTP R13A (2009-04-03) から、公式配布物に含む。 (最新はR14A)
47: 2010/07/26(月)04:18 AAS
Rubyスレで聞いたけど判る人がいないっぽいのでこちらに・・・
wxRuby 0.6.0betaを使ったアプリをwxruby.so同梱で配布する場合に適用されるライセンスは
どのようになりますか?

バイナリファイルでの配布なら?任意のライセンスを適用出来るみたいですが
インタプリタ系の言語でバイナリファイルでの配布とか言われても難しいですし・・・
(exerbで配布したとしてもexeファイルの実態はインタプリター+ソースコードだし)

よろしくお願いします
48: 2010/07/26(月)05:47 AAS
orz = 3
49: 2010/07/26(月)16:52 AAS
そういうのわ御社の法務部で聞いてください
50
(5): 2010/07/27(火)22:18 AAS
すみません、誰か教えてください。
wxFormBuilderで作成されたForm内のm_textCtrlXXへの参照・代入ってどうやればいいんですか?

環境はVC++です。
51: 2010/07/27(火)22:40 AAS
内容を読み書きしたいってことかな
http://docs.wxwidgets.org/stable/wx_wxtextctrl.html
GetValue、GetLineText
SetValue、AppendText
この辺りだろう、ってか公式のリファレンスに網羅されてるからすぐ見たほうがいいよ
52: 50 2010/07/27(火)23:11 AAS
お返事ありがとうございます。

wxFormBuilderで作成されたクラスがMyFrame1として、
MyFrame1::m_textCtrl28->SetValue(s);
とかやってみたけど、ビルドが通ってくれないのです。
(申し訳ございません、C++よくわかってない人です)

wxFormBuilderの場合、ここみたいに
http://wiki.wxformbuilder.org/Tutorials/UsingSubclass
サブクラス化してアクセスするのが正解なのでしょうか。
試してみたけど、なんか上手くいかないんです。
53: 50 2010/07/27(火)23:19 AAS
いちおう追記しておきますが、wxFormBuilderベースでプログラム作って、ボタンを押して反応するところまでは成功しまています(一日かかりましたが)。
文字列操作しようとしたらまたハマってしまって困っているのです。
54: 2010/07/28(水)08:55 AAS
インスタンス化されたMyFrame1からアクセスしないと駄目です
MyFrame1 frame;
frame->m_textCtrl28->SetValue(wxT("moji"));
この場合外側からのアクセスなのでm_textCtrl28のpermissionはpublicになってないといけない
クラスの扱いはC++の基本なのでまずそちらから勉強した方がライブラリの理解も早くなります
55: 2010/07/28(水)08:57 AAS
ごめん3行目ミスw
frame.m_textCtrl28->SetValue(wxT("moji"));
56: 50 2010/07/28(水)19:27 AAS
おおお!
MyFrame1 frame;
としてみたところ、
frame.
の入力で
frame.m_textCtrl28->SetValue
までVCの補完が効くようになりました!

いけるかなと思ったのですが、ビルドしてみると
「'MyFrame1' : クラス、構造体、共用体に既定のコンストラクタがありません。」
のエラーになってしまいます。
なにはともあれ真理に近づきつつあるようです。ありがとうございます。
C++の勉強します。
57
(1): 2010/07/28(水)19:49 AAS
MyFrame1 frame;
frame = new MyFrame1(NULL);
frame->m_textCtrl28->SetValue(wxT("moji"));
じゃだめ?
58: 50 2010/07/28(水)21:25 AAS
>>57
ありがとうございます。
やはり
「'MyFrame1' : クラス、構造体、共用体に既定のコンストラクタがありません。」
になってしまいます。
コードが継ぎ足し実験しまくりなのが不安なので、シンプルなコードで最初か
らやり直してみようと思います。
59
(1): 2010/07/29(木)01:38 AAS
MyFrame1 *frame = new MyFrame1(NULL);
じゃない?newを受けるのはポインタ

というかもう少しC の勉強してからのほうがいいと思ふぞ
60: 50 2010/07/29(木)02:40 AAS
>>59
ありがとうございます。
まだ継ぎ足し実験コードのままなのですが、試してみました。
MyFrame1 *frame = new MyFrame1(NULL);
frame->m_textCtrl28->SetValue(wxT("moji"));
としてみたところ、
「protected メンバ (クラス 'MyFrame1' で宣言されている) にアクセスできません。」
というエラーが。

m_textCtrl28をprotectedメンバで宣言しているのはwxFormBuilderが吐き出し
たコードで、これはwxFormBuilderとしては「編集しちゃアカん」そうなので
すが、m_textCtrl28をpublicメンバで宣言するように直したところ、ビルドが
通りました。でもSetValue(wxT("moji"))の効果はありませんでした。

うーん、勉強します。シンプルなコードでも試してみます。
61: 2010/07/29(木)02:52 AAS
日記
62: 2010/07/29(木)02:55 AAS
君にとっては新たな発見なのかも知れないが
ここ見てるひとは当たり前過ぎてただのノイズ

wx やりたいのは解るがしばらく我慢して
もう少し C++ の勉強してから改めて取り組んだ方が良い
63: 2010/07/29(木)14:33 AAS
C++のクラスの複雑さは異常
64
(4): 2010/09/06(月)03:08 AAS
Windows XP上のmingw+msys(最新安定板)でmakeしたのですが、ld: final link failed memory exhausted エラーでリンクに失敗します。wxMSW(安定板)とwxWidgets-2010-06-30
物理メモリーは2G近くの空き、システムドライブも20G近く空いています。
ネットでエラーを調べてLDFLAGSに-Wl,--no-keep-memoryを追加してみましたが同じ所でエラーになりました。
誰かタスケテorz
65
(1): 2010/09/06(月)03:51 AAS
無視してもう一回make
66: 2010/09/06(月)04:50 AAS
>>65
既に3回くらいやりましたが駄目でしたorz
67
(1): 2010/09/06(月)05:51 AAS
3回とも同じ結果?
同じ場所で止まる?
68: 64 2010/09/06(月)06:18 AAS
>>67
wxmsw291u_core_gcc_custom.dllを作成中にエラーになるのは同じで、その中でcould not read symbols: Memory exhaustedが起こる、読み込み中のオブジェクトファイルは違う事があるようです。
1-
あと 892 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s