X



【GUI】wxWidgets(旧wxWindows) その5【サイザー】
0001デフォルトの名無しさん
垢版 |
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/
0007デフォルトの名無しさん
垢版 |
2010/04/09(金) 19:48:52
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

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

                  京都大学霊長類研究所
0008デフォルトの名無しさん
垢版 |
2010/04/09(金) 19:52:37
━━━━━━━━〓〓〓〓〓〓〓〓 アイちゃんキター 〓〓〓〓〓〓〓〓━━━━━━━━

とりあえず>>1
0010デフォルトの名無しさん
垢版 |
2010/04/09(金) 22:36:04
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!
0015デフォルトの名無しさん
垢版 |
2010/04/14(水) 16:37:31
    ヘ⌒ヽフ
   ( ・ω・) dd
   / ~つと)
0016デフォルトの名無しさん
垢版 |
2010/04/24(土) 09:25:04
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 を使うとこんな感じになるみたい
ttp://www.sm.rim.or.jp/~shishido/wincap.html
0017デフォルトの名無しさん
垢版 |
2010/04/26(月) 14:59:40
    ヘ⌒ヽフ
   ( ・ω・) dd
   / ~つと)
0018デフォルトの名無しさん
垢版 |
2010/05/02(日) 20:44:44
    ヘ⌒ヽフ
   ( ・ω・) dd
   / ~つと)
0019デフォルトの名無しさん
垢版 |
2010/05/02(日) 21:09:14
クライアント領域だけ透過させることって出来ないか?
0020デフォルトの名無しさん
垢版 |
2010/05/03(月) 11:45:01
出来る
0021デフォルトの名無しさん
垢版 |
2010/05/09(日) 16:02:55
こういう画像表示を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を表示する感じになるのでしょうか?
0023デフォルトの名無しさん
垢版 |
2010/05/10(月) 01:27:50
>>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()

と書き換えて実行してみ
0024デフォルトの名無しさん
垢版 |
2010/05/10(月) 03:30:29
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();
0026デフォルトの名無しさん
垢版 |
2010/05/10(月) 16:42:05
>>25
前スレのどこ?アンカおねがい

とりあえずOnRunをコメントアウトしたら上手く動いているようではあるけど
もっときれいにやれてた気がするんだよなぁ
0027デフォルトの名無しさん
垢版 |
2010/05/12(水) 00:56:04
>>23
ありがとうございます!
やってみたらframeが複数表示できました。
件のサンプルを参考にして勉強したいと思います。
0029デフォルトの名無しさん
垢版 |
2010/06/07(月) 13:24:17
wxWidetsをlinuxでコンパイルしてdemoやsamplesが正常に動くことを確認.

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

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

HWND取得してWin32APIで状態確認してWin32APIで処理しなきゃダメだ
自プロセスが出した命令のイベントしか上げてこないならEVT_SHOWなんていらないだろ
0031デフォルトの名無しさん
垢版 |
2010/06/21(月) 13:01:24
>>29
オーバーレイをお古
かくかくのろのろだけど
003229
垢版 |
2010/06/21(月) 16:22:58
>>31
駄目.なんにも変わらない.
0037デフォルトの名無しさん
垢版 |
2010/06/24(木) 04:07:38
ライセンス的には一部デフォルト設定から機能オフしないといけないけどwxが自由度高い
レスを投稿する


ニューススポーツなんでも実況