[過去ログ] くだすれPython(超初心者用) その37 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
553(8): 2018/04/23(月)13:03 ID:HUlTGC1I(1/4) AAS
>>548
とりあえず、ボタン押してフレーム出すのはこう。
import wx
class ChildFrame( wx.Frame ):
def __init__( self, parent ):
super().__init__(parent, wx.ID_ANY)
sizer = wx.BoxSizer(wx.VERTICAL)
lb = wx.StaticText(self, wx.ID_ANY, "Hello!")
sizer.Add(lb)
self.SetSizer(sizer)
sizer.Fit(self)
class MainFrame( wx.Frame):
def __init__(self):
super().__init__(None, wx.ID_ANY )
sizer = wx.BoxSizer(wx.VERTICAL)
btn = wx.Button(self, wx.ID_ANY, "Push Me!")
sizer.Add(btn)
self.SetSizer(sizer)
sizer.Fit(self)
btn.Bind(wx.EVT_BUTTON, self.on_button)
def on_button( self, evt ):
child_window = ChildFrame(self)
child_window.Show()
if __name__ == "__main__":
app = wx.App()
frame = MainFrame()
frame.Show()
app.MainLoop()
555(5): 2018/04/23(月)14:31 ID:Lf5qXYif(1/2) AAS
>>553さん
ありがとうございます!
ただボタンを押した後のフレームを出す処理を他のファイルに書いています。
そういうやり方は一般的ではないのでしょうか?
def on_button( self, evt ):
import aaa
のようにaaa.pyを呼び出して処理させたいのですが、一回表示させて閉じると再表示させることができません。
570(1): 2018/04/23(月)21:34 ID:Mytq4Fn/(1) AAS
>def on_button( self, evt ):
>import aaa
のaaa.pyのどんなことを書いてあるんだろ?
>>569は
>>553のdef on_button( self, evt ): の処理部をaaa.pyに書いて
動くように出来る?
571(2): 553 2018/04/23(月)21:59 ID:3UVOgM3N(1/6) AAS
ああわかったよ、書けばいいんだろ、、、
>>>aaa.py
import wx
class ChildFrame(wx.Frame):
<中略>
>>>main.py
import wx
from aaa import *
class MainFrame(wx.Frame):
<中略>
def on_button(self, evt):
child_frame = new ChildFrame(self, wx.ID_ANY)
child_frame.Show()
572(1): 553 2018/04/23(月)22:06 ID:3UVOgM3N(2/6) AAS
すまん、インデントが消えた。
ちなみにwxの子ウィンドウには親の参照渡しとかないと、親を閉じたときにアプリケーションが勝手に終了してくれないから
アプリケーションのメインウィンドウ以外には親を渡した方が良い。
これはaaa.pyに子ウィンドウを表示するグローバル関数を定義する場合も同じ(関数の引数として親を渡せるようにする)
じゃないと、出したフレーム片っ端から閉じないとプログラム終了しなくなる。
573: 553 2018/04/23(月)22:17 ID:3UVOgM3N(3/6) AAS
new ってなんだよ、、俺。
「new ChildFrame(・・・」のnewはいりません、ごめんなさい。
579: 2018/04/23(月)23:04 ID:M4g+UNEZ(2/4) AAS
>>577
俺の知識では理解は無理だが、その部分なのか(そもそも、クラスを理解している奴なら質問しないだろうが)
ついでに、
>>553で>>571のような回答をくれればよかったんだろうがな(元の質問が別ファイルに子windowの記述がある)
一方、>>574は素直に>>553を>>570のようにするにはどうすれば良い?と質問すればよかったんだろうが
超初心者は俺もだがコミュ力ないから回答得るのに遠回りするよな
このスレは>>576で出たコンストラクタも、これ何?レベルの奴が質問だろうからな
581(1): 2018/04/23(月)23:27 ID:M4g+UNEZ(3/4) AAS
>>553
コミュ力ない人の質問だと本当に教えてほしいことが相手に伝わらないことが多いから
回答する人は要エスパー力だからな
600(1): 2018/04/24(火)20:18 ID:Mdvhp2Yn(2/4) AAS
>>598
vimは関係ないですよ。
プログラミング書くのに適してませんし。
>>598
趣味でPythonやっている>>553さんに「低脳」って言うのは言い過ぎだと思いますよ。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.045s