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

201: 2011/07/17(日)23:28 AAS
誰も無いとは言ってないぞ
202: 2011/07/17(日)23:40 AAS
後出しww
203: 2011/07/17(日)23:43 AAS
ネタにマジレスww
204: 2011/07/18(月)05:50 AAS
なんのこっちゃ。
205
(1): 2011/07/28(木)23:53 AAS
リストボックスのアイテムとして
ボタンやテキストボックスを表示できる?
206
(1): 2011/07/29(金)04:32 AAS
>>205
wxListBoxそのままでは無理。
テキストボックスだけでいいならwxEditableListBox使った方が早い。
それ以外でちょっとだけコントロールを付け足したいだけなら、
wxListBox継承してるwxCheckListBoxのソースが参考になると思う。
画像管理ソフトみたいなサムネリストが欲しいならwxThumbnailCtrl
って非公式コントロールが楽(古いので2.9系では若干修正が必要)。
省3
207: 2011/07/29(金)07:16 AAS
>>206
ありがと
208
(3): 2011/08/11(木)06:56 AAS
自作のTestApp(wxWidgets製)は起動時に渡されたパスを読み込んで処理を
するとして、既に起動しているTestAppがあれば、そのTestAppにパスを引き
渡して自分は死ぬ(多重起動しない)、という動作をしたいです。
Winの場合、EnumWindowsでトップレベルウィンドウでTestAppを探し、
WM_COPYDATAをSendMessageで投げMSWWindowProcで受ける、
という方法を採っていますが、この辺のニーズは常にあるだろうし、
もっと楽なやり方があるんじゃないかと思ってます。
省2
209
(1): 2011/08/11(木)10:26 AAS
Mutex
210
(1): 208 2011/08/11(木)20:27 AAS
>>209
コメントありがとう。
でもMutexだと多重起動のチェックには使えるけど、
「既に起動している別プロセスへ任意のデータを引き渡す」
って処理には使えなく無いですか?
211
(1): 2011/08/12(金)00:44 AAS
・メモリマップファイル
・共有メモリ
・TCP/IP
・DDE/OLE/ActiveX
・ウィンドウメッセージ
好きなの使えばいいよ。普通は都合のいい方法を使って自分で作る。
wxならメッセージが一番楽だろう。
212: 2011/08/12(金)01:46 AAS
つうか、二重起動防止するAPIが普通にあるだろ。
213
(1): 2011/08/12(金)12:39 AAS
>>210
元のをポップアップさせてあとのを閉じれば渡す必要なくね?
214
(1): 2011/08/12(金)12:42 AAS
一番簡単なのが欲しいなら作業ファイルにデータ書き込め。
いっそ多重起動もdir lockでやっとけ。
215: 2011/08/12(金)17:59 AAS
wxMutex
外部リンク[html]:docs.wxwidgets.org
216: 2011/08/12(金)18:09 AAS
wxSingleInstanceChecker
外部リンク[html]:docs.wxwidgets.org
217: 208 2011/08/12(金)21:25 AAS
なんかいっぱい回答もらえた。ありがとうございます。
誤解を生んで申し訳ないんだけど、多重起動の禁止だけじゃなくて、
データを引き渡すってところまでがやりたいことなんです。

>>211
・メモリマップファイル
・共有メモリ
公式ドキュメントだけ読んで無いと思っていたんですが、
省9
218: 208 2011/08/12(金)22:02 AAS
・ウィンドウメッセージ
はい。最初に書いたとおり、これは把握済です。
ただ、全トップレベルウィンドウを調べるwxWidgetsの関数って
無いですよね?(MS側のAPIはあるけど)

>>213
・起動済アプリを殺して自分が前面に出る
タスクバーに収納されていたり表に出ていたり、というアプリにしているので、
省8
219: 2011/09/02(金)20:17 AAS
今更なんですが、C++でGUIを考えた場合、wxWidgetsとQTが候補に挙がりましたが
両者の比較を書いているサイトや記事などありましたら教えてください。
220: 2011/09/02(金)20:28 AAS
自分はQt側のことは知らないんだが、こんなサイトがある

wxWidgetsのススメ
外部リンク[html]:up-cat.net
221: 2011/09/02(金)23:04 AAS
いまは VC2010Express でも wxWidgets 使えて便利だわ
222: 2011/09/02(金)23:29 AAS
2.9.2落としてきてVC2008でビルドしてたけど、これgdgdすぎ
スタティックライブラリはできたけど、DLL版は全然ビルドできないわ、サンプルはデバッグ
ライブラリ用になってるからいちいち直さないといけない&直しても同じリソースがどうたら
でビルドできんし、Qtにいくわ
223: 2011/09/03(土)00:34 AAS
おいらはMinGWでMakefile作りながらGUI作ってるよ〜 (^q^)
224: 2011/09/03(土)01:05 AAS
ああ、早とちりすまん
結局添付されていたVC2008用のプロジェクトファイルがうんこで、VC6用の奴を変換して
ビルドしたらうまくいきましたわ
サンプルも同じでVC6用の奴を変換してビルドすると正常にビルドできました
悪口いってすまん、けどビルドできないVC2008用プロジェクトファイルって罠じゃないのか
225: 2011/09/03(土)10:36 AAS
普通makefileの方使わない?
226: 2011/09/03(土)11:45 AAS
nmakeしたらいきなりエラーで止まったし、ぐぐるとnmakeよりもVC++上でコンパイルする記事が多かった
ので、そうしてました。
お騒がせして申し訳ないついでに実は開発版の2.9.2をビルドしようとしてたみたいで、俺死にたい...
というより氏ね>俺
227: 2011/09/03(土)12:10 AAS
VC使わないといけない理由があるんなら仕方ないけど
gccの方がすんなり行くんじゃないかなぁ。
228: 2011/09/03(土)18:49 AAS
WinでgccというとMinGだよね?
たまたまVC入ってたからVCでやってたけど、MinGの方が捗るの?
229: 2011/09/03(土)20:59 AAS
wxWidgetsの開発はLinuxのgccで行われてるだろうからMinGW+gccだと環境づくりが楽かも?
VCのことは知らないけどMinGWだと普通に2.9.2コンパイルできたし
コーディングの効率を考えるとVCのオートコンプリート機能が使えたら楽かもしれんが、たぶん出来んだろうしな
230
(1): 2011/09/03(土)21:56 AAS
winでわざわざMinGなんて使う必要ないよ。
VCでいい。
231: 2011/09/04(日)17:11 AAS
MinGWだとEXEサイズ小さくなるかなと試してみたが、makeしてもlibができないなぁと1時間も
悩んでた、.aで正しいのにwww
アホすぎる俺
しかしwxWidgetsいいね、コントロールは揃ってるし、ドッキングもできる、開発版にすればリボンもどきも
使えるし、wxFormBuilder使えばGUIで画面組み立てられるし、とりあえず満足できる環境だし
232
(1): 2011/09/04(日)19:07 AAS
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
(2): 2011/09/04(日)19:22 AAS
>>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
(1): 2011/09/04(日)19:51 AAS
ちなみにgccは-sオプションをつけると結構ファイルサイズは小さくなる
235: 2011/09/04(日)19:52 AAS
あ、既出だった
236: 2011/09/04(日)21:11 AAS
>>233-234
アホな俺にわざわざありがとう!
もう1回試してみます!
237
(1): 2011/09/04(日)22:39 AAS
>>230
なるほど人によるなあ。
俺なら「わざわざVC使わんでも、MinGでいい」って発想になるわ。
238: 2011/09/04(日)23:30 AAS
>>233
ライブラリも作成し直し、サンプルもビルドし直しましたがサイズは6621KBでした
あとDLL依存はとれないのですね
239: 2011/09/05(月)00:04 AAS
>>237
同意。
UNIX文化的には、gccが「標準」でVCは「非標準」って認識だからなぁ。

自分で何か書く時とか、「自分はgccしか使わないけど、Win使いのためにVCもサポートしてやるか」ってレベル。
240: 2011/09/05(月)00:32 AAS
結局どっちの文化に属してるかによって
何がデフォで何がわざわざなのかが違うってことで。

で、wxそのものがUNIX文化なんだよな。
241
(1): 2011/09/05(月)12:01 AAS
>> 238
サンプルはそのままビルドするとDLL依存になるとおもう。

cd samples
make "LDFLAGS = -static"

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

ただ、オープンソース系のライブラリを今後使っていくんなら
いずれにしてもgcc系の流儀とかも覚えておいた方がいいと思うよ。
244: 2011/09/06(火)00:10 AAS
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 AAS
質問お願いします。

画像リンク[jpg]:www.dotup.org

こういうよくある(名前、種類、ディレクトリ、サイズ)みたいなのを
表示したいんですがヴィジェットは何を使ったらいいでしょうか?
できれば画像のように名前のところの矢印みたいなのを付けたいのと
項目の順番をD&Dで入れ替えたり表示、非表示をポップアップメニューで行いたいです。
項目にはDBのカラムを割り当てたいと思っています。
246
(1): 2011/09/10(土)20:38 AAS
すいません、listctrlで出来そうですね。
なんでいつも質問した後は簡単に見つかるんだろう…
247: 2011/09/10(土)23:30 AAS
age
248: 2011/09/11(日)23:37 AAS
sage
249
(1): 2011/09/20(火)23:30 AAS
wxWidgetsのライセンスって何なの(L-GPL)?
これ使って書いたプログラムってソースコード開示する必要あるの?
教えてエロい人!!
250: 2011/09/22(木)08:11 AAS
ゴメン、答えられるけどエロくない。
251: 2011/09/22(木)12:00 AAS
インポ乙
252: 2011/09/22(木)18:59 AAS
まあその質問はググッたらでてきそうだしな…
ところで組み込み用のwxWidgetsとかないんだろうか。
253: 2011/09/23(金)14:09 AAS
>>249
試しにググッたら意外と出てこなかったので教えてやるでおじゃる
外部リンク[html]:web.archive.org
外部リンク[html]:ms2.seesaa.net
254: 2011/09/23(金)20:06 AAS
情報古過ぎないか
255
(1): 2011/09/23(金)21:55 AAS
世界線は変わらなかった
256: 2011/09/23(金)22:27 AAS
つうか本家のホームページに書いてあるがな。
257: 2011/09/23(金)23:34 AAS
これですね
外部リンク[htm]:www.wxwidgets.org

"wxWindows Licence"で配布されていて、
ソースコード開示の必要はないというのが一応の答えかな
258
(2): 2011/09/24(土)22:07 AAS
需要があるかどうか不明ですが。

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

外部リンク[html]:h12u.com
259: 2011/09/24(土)22:23 AAS
>>258
乙です
てかwxWidgetsにも正規表現ライブラリあったんだな
260
(1): 2011/09/24(土)23:40 AAS
>>258
正格表現って初めて見たが、正則表現ではなくて?
POSIXブラケットのうち、[. .] [= =] [:<:] [:>:]とかって他のライブラリじゃほとんど見ないな。
[[=A=]]ってAやÄなどにマッチするんだっけ?
261: 2011/09/25(日)20:52 AAS
>>260
ご指摘Thx. 直しておきました。どこで間違ったんだろう。

> [[=A=]]ってAやÄなどにマッチするんだっけ?
建前としてはそうなるはずだけど誰も実装してないとか何とか。よく知らないですが。
調べてみたら [. .] と [= =] の訳文はかなりおかしい気がしてきた。
262: 2011/09/26(月)21:03 AAS
実は訳間違ってました[[=A=]]

ってかくと顔文字っぽい。
263
(2): 2011/09/27(火)09:53 AAS
POSIXって良く聞くけどなんですか?
264: 2011/09/27(火)20:16 AAS
258です。訳文とかちょっと修正しました。ページ内部のリンクも増やした。

>>263
実は私もよく知らない。
265: 2011/09/27(火)23:02 AAS
雲丹の標準規格じゃないの?
266: 2011/09/27(火)23:05 AAS
外部リンク:ja.wikipedia.org
POSIX(ポジックス パーズィックス、Portable Operating System Interface)とは、
異なる実装のUNIX OSを始めとする各種OSに共通のAPIを定め、移植性の高い
アプリケーションソフトウェアの開発を容易にすることを目的としてIEEEが策定した
アプリケーションインタフェイス規格である。
267: 2011/09/28(水)21:35 AAS
motifもIEEEが規格決めてたから、こっち使いましょうよ
268: 2011/09/29(木)14:42 AAS
>>263
ザックリとでよければ「UNIX互換」くらいに考えておけば良い。
269
(1): 2011/11/08(火)17:30 AAS
CodeBlocks10.05とwxWigets2.8を使用しています。
勉強中です。
外部リンク[php]:wiki.codeblocks.orgの1-7までは実行してみました。
そんなレベルなのですが、ディレクトリ内のファイル名を一覧でcsvにだせるところまでを目標に
しています。

void filenameFrame::OnButton1Click(wxCommandEvent& event)
{
省18
270: 2011/11/08(火)17:42 AAS
C:\C\FILENAME\filenameMain.cpp|133|error: invalid use of member (did you forget the '&' ?)|
C:\C\FILENAME\filenameMain.cpp|140|error: conversion from 'wxArrayString*' to 'const wxString' is ambiguous|
C:\wxWidgets2.8\include\wx\string.h|692|note: candidates are: wxString::wxString(wxChar, size_t) <near match>|
コンパイルすると、このようなメッセージが表示されます。

以下の行を削除すると、正常にコンパイルが通ります。
wxArrayString Filenames;
Filenames << OpenDialog->GetFilenames[0];
省6
271
(1): 2011/11/08(火)18:28 AAS
>>269
最後の行
OpenDialog->Destroy();}

中括弧が全角になってるなあ
てかこれ全コードじゃないよね
272
(1): 2011/11/08(火)20:52 AAS
サンプルにある"dialogs"が参考になるんじゃないかな、
"File operations->Open files"というのがある。
273: 2011/11/08(火)21:01 AAS
>>271
レスありです。全コードではありません。
改行などを削除しています。
wxSmithで作成していますので、どのようなソースが必要になりますか?
プロジェクトフォルダを見ると、bin/obj/wx_pch.h.gch/wxsmithフォルダと
filename.cbp/filename.depend/filename.layout/filenameApp.cpp/filenameApp.h/filenameMain.cpp/filenameMain.h/resource.rc/wx_pch.hファイルがあります。
filenameMain.cppの内容は以下のとおりです。
省19
274: 2011/11/08(火)21:03 AAS
{
wxString wxbuild(wxVERSION_STRING);

if (format == long_f )
{
#if defined(__WXMSW__)
wxbuild << _T("-Windows");
#elif defined(__UNIX__)
省21
275: 2011/11/08(火)21:04 AAS
BEGIN_EVENT_TABLE(filenameFrame,wxFrame)
//(*EventTable(filenameFrame)
//*)
END_EVENT_TABLE()

filenameFrame::filenameFrame(wxWindow* parent,wxWindowID id)
{
//(*Initialize(filenameFrame)
省11
276: 2011/11/08(火)21:05 AAS
TextCtrl4 = new wxTextCtrl(Panel1, ID_TEXTCTRL4, _("Text"), wxPoint(104,96), wxSize(456,22), 0, wxDefaultValidator, _T("ID_TEXTCTRL4"));
FlexGridSizer1->Add(Panel1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
SetSizer(FlexGridSizer1);
FlexGridSizer1->Fit(this);
FlexGridSizer1->SetSizeHints(this);

Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&filenameFrame::OnButton1Click);
//*)
省10
277: 2011/11/08(火)21:06 AAS
void filenameFrame::OnAbout(wxCommandEvent& event)
{
wxString msg = wxbuildinfo(long_f);
wxMessageBox(msg, _("Welcome to..."));
}

void filenameFrame::OnButton1Click(wxCommandEvent& event)
{
省19
278
(2): 2011/11/08(火)21:58 AAS
連続投稿規制 5回でなるんですねが・・・
こんな感じです。
配列・ポインタなど、マニュアルを目を通したのですが、完全に理解していません。
とりあえず色々さわりながら理解していこうかと考えています。

>>272
ありがとうです。
sampleフォルダの中のですね。
省3
279: 2011/11/08(火)22:45 AAS
迷惑な香具師だな
280
(1): 2011/11/09(水)07:33 AAS
>>278
長いときはcodepadとかideone使おうぜ・・
281: 2011/11/09(水)08:19 AAS
会社から帰ったら考えてみるわ>>278
1-
あと 679 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.017s