【GUI】wxWidgets(旧w ..
[2ch|▼Menu]
944:デフォルトの名無しさん
06/06/14 22:10:54
>>943
そんなんあるのか、調べてみます。
ありがとう

945:デフォルトの名無しさん
06/06/17 15:15:05

URLリンク(www.ne.jp)
を参考にしてインストールしたした。
でも、サンプルソースのinclude "wx/wx.h"でエラーになります。
includeパスをどうやって設定したらいいんですか?

環境:WinXP(SP2) + MinGW5.0.0 + wxWidgets2.6.3-1


946:デフォルトの名無しさん
06/06/17 17:24:46
wx-configにPATHが通ってれば
g++ hworld.cpp `wx-config --libs` `wx-config --cxxflags` -o hworld
通ってなければ通せ。
直接
g++ -I"C:\developer\MSYS1.0\local\lib\wx\include\msw-unicode-release-static-2.6"
とかでもできるかもしれん。

947:デフォルトの名無しさん
06/06/18 15:44:20
これって、日本語表示できるんですか?
出来るのであれば、やり方を教えてください。

MinGW + wxWidgets2.6.3

948:デフォルトの名無しさん
06/06/18 16:12:00
wxMessageBox("日本語使えるニダ");

949:デフォルトの名無しさん
06/06/18 16:33:45
wxMessageBox(wxT("しっかりしろ"));

950:デフォルトの名無しさん
06/06/18 18:35:00
wxMessageBox(_T("これも同じ意味なのか?"));

951:デフォルトの名無しさん
06/06/18 18:55:30
そんなの>947を混乱させるだけ

952:デフォルトの名無しさん
06/06/25 19:28:27
xrcで日本語って出来るかな?
cp932、utf8、sjis、どれもだめなんだけど・・・
ちなみにwxPerlです。

953:デフォルトの名無しさん
06/06/25 20:50:45
確かできたと思ったけどな。
どのみちちゃんと書くときはgettextで変換するので
xrcには日本語書かないけど。


954:952
06/06/25 21:27:28
>>953
ありがとう。
WinとMacで試してるけど、どっちもXRCのパースで失敗する。Load()。
日本語だけでいいんだけど、gettext使うかな・・・
前に一度やったんだけど、エディットがめんどうで・・・

955:デフォルトの名無しさん
06/06/27 00:41:49
サクラでUTF-8変換!

956:953
06/06/27 04:43:25
>>954
できると言った手前、実はできなかったら申し訳ないので試した。

手元のプログラムでメニューの&Fileを「ふぁいる(&F)」に書き換えて保存。
→ちゃんと出た。少なくともロードに失敗するということはない。

xrcファイルのエンコーディングはUTF-8。
wxWidgets 2.6.2 (2.6.3じゃなくて済まぬ)のunicodeビルド。

952氏がxrcを何で作ってるか知らないけど、手で書くならUTF-8以外を使う場合は
エンコーディングをちゃんと指定しないとだめだよ。


957:デフォルトの名無しさん
06/06/27 13:03:52
wxWebKit いいね!

958:デフォルトの名無しさん
06/07/21 23:19:02
wxPython2.6を使ってwxListCtrlでリスト作って
リストある行をSetItemTextColour()、SetItemBackgroundColour()
を使って色をつけようとしたが、全く色が変化しない。
SetTextColour()、SetBackgroundColour()は動作しているのだが
行指定のAPIは実は宣言だけで使えない??
誰か教えて。

959:デフォルトの名無しさん
06/07/21 23:53:16
wxPython付属のサンプルプログラムからコピペ

item = self.list.GetItem(1)
item.SetTextColour(wx.BLUE)

960:デフォルトの名無しさん
06/07/22 00:30:03
初期化するとき、LC_VIRTUAL を指定していると
OnGetItemAttr()
を呼びにいくから、それを再定義して、アトリビュートを返せば
色が変わります。

VIRTUALじゃないばあいは、 >959さんのでいいと思われ。


961:デフォルトの名無しさん
06/07/27 00:09:01
画像を表示したいんですが、実行ファイルに組み込むにはどうすればいいですかね?
外部ファイルを実行時にロードとかじゃなく、コンパイル時に組込みたいんですが。
(Winのリソースみたいな感じ?)


962:デフォルトの名無しさん
06/07/27 00:27:26
あ、わかったかも。すまそ。
XRCed wxXmlResource 辺りか。

963:デフォルトの名無しさん
06/07/27 03:47:16
わからん。
誰か教えてください。。。

964:デフォルトの名無しさん
06/07/27 05:19:46
xpm形式をリンク

965:962
06/07/27 10:36:27
>>964
ありがとう!
むちゃくちゃ簡単にできますた。

今までXML利用したプログラミングしたことがなかったので、>>962の方法では死ぬかと思いました。
こちらのほうは一から勉強します。

966:デフォルトの名無しさん
06/08/08 11:43:43
2.7.0来てるな

967:デフォルトの名無しさん
06/08/09 11:27:42
ぅをっ!
積極的に新しいパッケージを突っ込んで行くFedoraでさえまだ2.4と2.6の両方を用意しているというのに。

ところで君たち、RADツールとしては何を使ってますか?
俺はwxGlade以外使ったこと無いんだけれども、比較検討した人いる?

968:デフォルトの名無しさん
06/08/18 23:54:23
wxGladeのボタン等の張り付き方は何とかならんものか・・・

969:デフォルトの名無しさん
06/08/29 17:09:05
frameとpanelとdialogって何が違うんでしょうか?
更新出来る画像領域とボタンのある形を作ろうとwxGladeを実行しても、
画像がStaticBitmapしか見付からないんですが、動的なbitmapは無いんでしょうか?

GUIプログラミング自体初めてで、
解説サイトがさらっと通り過ぎてる所から進めません…

970:デフォルトの名無しさん
06/08/29 19:07:31
>>969
>frameとpanelとdialogって何が違うんでしょうか?
何が違うって、モノが違う。
あえて概要を言うなら、ふれーむは典型的なウインドウ、パネルは平べったい領域単体、ダイアログはパネルのようなウインドウのようなもの。
正確には↓読め。
URLリンク(www.wxwindows.org)

>更新出来る画像領域とボタンのある形を作ろうとwxGladeを実行しても、
>画像がStaticBitmapしか見付からないんですが、動的なbitmapは無いんでしょうか?
そういう特別なwidgetは(少なくともwxGladeには)無い。
パネルなどに直接描画する。

971:デフォルトの名無しさん
06/08/31 14:14:01
>そういう特別なwidgetは(少なくともwxGladeには)無い。
ないんですか…、xrcedとかでもやってみましたが、それらしいのはありませんでした。
で、言われたとおりにパネルに描こうと思ったんですが、
パネルのbitmapタイルへのポインタを取得するようなメンバ関数も、
上書きするようなメンバ関数も見当たりません…

manualを探してみた所、wxImageが目的の物に近い気がするのですが、これはGUI上に置けないor Panelに描けないんでしょうか??


972:デフォルトの名無しさん
06/08/31 15:10:44
>>971
君と僕とは共通の言葉で話ができない気がする。
付属のsampleは見たか?

973:デフォルトの名無しさん
06/08/31 15:56:01
wxGladeで全てのWidgetsを配置できるわけじゃないので
コード自分で書いて。

974:デフォルトの名無しさん
06/08/31 20:42:22
初めてwx触ってみたときに、イメージデータを適当に
フレームか何かのメンバにしてしまってハマったことがあったな。
その上にはサイザーとパネルが貼り付いているものだから、
フレームを拡大縮小している瞬間だけ画像がチラチラ見えたりしたっけ。
なんか、Linux上とWindows上で挙動がちがったりして。
何年か前の話だから何か勘違いしてるかもしれんが。

とにかくその延長で作ったブツのソースを今見たが、
(汚いからよくわからんが)ごちゃごちゃとメンバを持たせた
独自のパネルを作って差し替えてるな。
ちなみに俺はC++を念頭に書いてるが、Pythonなどはよくわからん。

975:デフォルトの名無しさん
06/09/01 15:24:16
wxのマクロを使う糞古臭い設計はなんとかならんのか。
今更こんなもん使う気にならん。

976:デフォルトの名無しさん
06/09/01 15:44:30
グダグダ口から糞たれてねえで、てめえでどうにかしな。

977:デフォルトの名無しさん
06/09/01 16:15:55
>>976
やっくん

978:デフォルトの名無しさん
06/09/01 17:59:37
1.wxSocketServerをlisten
2.イベントハンドラにwxSOCKET_INPUTを登録
3.クライアントから接続しデータを送信
4.一度目のデータ処理を待たずに2度目の送信を行う

サーバサイドでwxYield called recursivelyというAssertが出る

wxSocketBase::Read()でYield()を呼び出していることが原因
socketサンプルをコンパイルしても出るらしい

回避方法情報募集中

979:デフォルトの名無しさん
06/09/01 19:19:27
>>975
10年くらい続いてるツールキットだから仕方なかろう。

wxNG作りたいねという話はときどきMLで出るが、じゃあ誰が作業するんだ、
そんな余力ねーべ、という話に大抵なる。

つまり >>976 ってこった。

980:デフォルトの名無しさん
06/09/01 23:48:00
MFCの要領が解かっていればすぐに使える、というメリットもある。

981:デフォルトの名無しさん
06/09/01 23:54:48
MFCから逃れたくてGUIツールキットを探してる人には
あまりうれしくないけどね。

982:デフォルトの名無しさん
06/09/02 00:00:58
>>979
wxNGって何?

983:デフォルトの名無しさん
06/09/02 00:30:52
>>982
wx Next Generation == 次世代wx

NGは新しいものには何でも使われる定番の名前。

984:デフォルトの名無しさん
06/09/02 01:07:41
>>983
ありがとう。
wxNGをメーリングリストのログやフォーラムを検索してもほとんど言及がないし
唐突に出てくるからNGは一般的な言葉な略語なんだろうなとは思ったが、それだけに
うまくNGの意味を検索する術を思いつかなかったw

985:978
06/09/02 07:46:30
ちょっとわかりずらいので書き直し
HTTPサーバを想像してください
コードはサンプルのものですので、見ればわかります

1.サーバ作成
EVT_SOCKET(SERVER_ID, MyFrame::OnServerEvent)
m_server = new wxSocketServer(addr);
m_server->SetEventHandler(*this, SERVER_ID);
m_server->SetNotify(wxSOCKET_CONNECTION_FLAG);
m_server->Notify(true);
サーバを作成し、Acceptイベントを登録しています

2.Accept
void MyFrame::OnServerEvent(wxSocketEvent& event)
sock = m_server->Accept(false);
sock->SetEventHandler(*this, SOCKET_ID);
sock->SetNotify(wxSOCKET_INPUT_FLAG | wxSOCKET_LOST_FLAG);
sock->Notify(true);
接続要求を受け入れ、受信イベントを登録しています

3.データ受信
void MyFrame::OnSocketEvent(wxSocketEvent& event)
wxSocketBase *sock = event.GetSocket();
sock->Read(&c, 1);
受信要求があればそれぞれのソケットにReadを掛けます

この時、クライアントから同時に複数の接続を行うと、それぞれが別スレッドとしてイベント化されます
Readがほぼ同時に別のソケットに対して呼ばれるのですが、イベントハンドラはMyFrameのもので同一です
この時、Readは内部でwxYield(GUI更新)を呼び出します
wxYieldは1度の関数呼び出し中に2度以上呼んではいけない仕様になっています
そこで「wxYield called recursively」というAssertを出してエラー終了します

986:デフォルトの名無しさん
06/09/02 11:36:49
990ぐらいで次スレ立てれば十分なペースかなあ?

987:デフォルトの名無しさん
06/09/03 19:01:47
てst

988:デフォルトの名無しさん
06/09/03 22:41:24
いや980超えたらもう落ちるだけだろ
立てられるうちに立てとくべきだ

989:デフォルトの名無しさん
06/09/06 03:49:36
お前ら開発環境ってどうしてる?

990:デフォルトの名無しさん
06/09/08 17:39:35
KDevelop

991:デフォルトの名無しさん
06/09/08 17:47:12
「開発しない」という選択

992:デフォルトの名無しさん
06/09/08 18:16:04
>>990
おれはGNOME派だが、KDevは乙だと思う。
でもやっぱり使ってないけど。

おれはwxGlade + Emacs (+ 諸々のUNIXツール)

993:デフォルトの名無しさん
06/09/08 21:30:33
wxGladeとかってSizerが激しく使いにくいんだけどどうにかならんの・・・?
そんなわけでwx-DevC++で作って移植してる。
余計面倒なことも多々あるけど;

994:デフォルトの名無しさん
06/09/08 21:57:28
>>989
最近使い始めたんだが、wxGlade/VS2005/Eclipse/poEdit。
アクセラレータの自動登録って動いてないのかな?
wxGladeも自分で手を入れたいぐらい、機能が動いていない。

995:デフォルトの名無しさん
06/09/08 22:42:40
DialogBlocksがイイヨ

996:デフォルトの名無しさん
06/09/09 00:24:22
【GUI】wxWidgets(旧wxWindows) その3【サイザー】
スレリンク(tech板)

997:デフォルトの名無しさん
06/09/09 08:48:02
>>996
どうもお疲れさまでした。

998:デフォルトの名無しさん
06/09/09 09:25:16
>>995
有料か。でもタイトルの文字消すぐらい、誰でもできるんじゃない?

999:デフォルトの名無しさん
06/09/09 13:57:22
Code::BlocksのNightly BuildsではwxSmithが使えるようになってる。

Nightly builds - Code::Blocks
URLリンク(www.codeblocks.org)

WxSmith plugin - CodeBlocks
URLリンク(wiki.codeblocks.org)

1000:デフォルトの名無しさん
06/09/09 14:27:04
日テレはルパンにひどいことしたよね(´・ω・`)

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4676日前に更新/209 KB
担当:undef