รัน code ด้านล่างนี้ดูหน่อยนะครับ
ผมอยากรู้ว่ามันไดตาม รูปใน link นี้ หรือไม่
http://www.zetcode.com/wxpython/images/find_replace.png
ผมรันดูแล้ว มันไม่ได้
import wx
class FindReplace(wx.Dialog):
def init(self, parent, id, title):
wx.Dialog.init(self, parent, id, title, size=(255, 365))
vbox_top = wx.BoxSizer(wx.VERTICAL)
panel = wx.Panel(self, -1)
vbox = wx.BoxSizer(wx.VERTICAL)
# panel1
panel1 = wx.Panel(panel, -1)
grid1 = wx.GridSizer(2, 2)
grid1.Add(wx.StaticText(panel1, -1, 'Find: ', (5, 5)), 0, wx.ALIGN_CENTER_VERTICAL)
grid1.Add(wx.ComboBox(panel1, -1, size=(120, -1)))
grid1.Add(wx.StaticText(panel1, -1, 'Replace with: ', (5, 5)), 0, wx.ALIGN_CENTER_VERTICAL)
grid1.Add(wx.ComboBox(panel1, -1, size=(120, -1)))
panel1.SetSizer(grid1)
vbox.Add(panel1, 0, wx.BOTTOM | wx.TOP, 9)
# panel2
panel2 = wx.Panel(panel, -1)
hbox2 = wx.BoxSizer(wx.HORIZONTAL)
sizer21 = wx.StaticBoxSizer(wx.StaticBox(panel2, -1, 'Direction'), orient=wx.VERTICAL)
sizer21.Add(wx.RadioButton(panel2, -1, 'Forward', style=wx.RB_GROUP))
sizer21.Add(wx.RadioButton(panel2, -1, 'Backward'))
hbox2.Add(sizer21, 1, wx.RIGHT, 5)
sizer22 = wx.StaticBoxSizer(wx.StaticBox(panel2, -1, 'Scope'), orient=wx.VERTICAL)
# we must define wx.RB_GROUP style, otherwise all 4 RadioButtons would be mutually exclusive
sizer22.Add(wx.RadioButton(panel2, -1, 'All', style=wx.RB_GROUP))
sizer22.Add(wx.RadioButton(panel2, -1, 'Selected Lines'))
hbox2.Add(sizer22, 1)
panel2.SetSizer(hbox2)
vbox.Add(panel2, 0, wx.BOTTOM, 9)
# panel3
panel3 = wx.Panel(panel, -1)
sizer3 = wx.StaticBoxSizer(wx.StaticBox(panel3, -1, 'Options'), orient=wx.VERTICAL)
vbox3 = wx.BoxSizer(wx.VERTICAL)
grid = wx.GridSizer(3, 2, 0, 5)
grid.Add(wx.CheckBox(panel3, -1, 'Case Sensitive'))
grid.Add(wx.CheckBox(panel3, -1, 'Wrap Search'))
grid.Add(wx.CheckBox(panel3, -1, 'Whole Word'))
grid.Add(wx.CheckBox(panel3, -1, 'Incremental'))
vbox3.Add(grid)
vbox3.Add(wx.CheckBox(panel3, -1, 'Regular expressions'))
sizer3.Add(vbox3, 0, wx.TOP, 4)
panel3.SetSizer(sizer3)
vbox.Add(panel3, 0, wx.BOTTOM, 15)
# panel4
panel4 = wx.Panel(panel, -1)
sizer4 = wx.GridSizer(2, 2, 2, 2)
sizer4.Add(wx.Button(panel4, -1, 'Find', size=(120, -1)))
sizer4.Add(wx.Button(panel4, -1, 'Replace/Find', size=(120, -1)))
sizer4.Add(wx.Button(panel4, -1, 'Replace', size=(120, -1)))
sizer4.Add(wx.Button(panel4, -1, 'Replace All', size=(120, -1)))
panel4.SetSizer(sizer4)
vbox.Add(panel4, 0, wx.BOTTOM, 9)
# panel5
panel5 = wx.Panel(panel, -1)
sizer5 = wx.BoxSizer(wx.HORIZONTAL)
sizer5.Add((191, -1), 1, wx.EXPAND | wx.ALIGN_RIGHT)
sizer5.Add(wx.Button(panel5, -1, 'Close', size=(50, -1)))
panel5.SetSizer(sizer5)
vbox.Add(panel5, 1, wx.BOTTOM, 9)
vbox_top.Add(vbox, 1, wx.LEFT, 5)
panel.SetSizer(vbox_top)
self.Centre()
self.ShowModal()
self.Destroy()
app = wx.App()
FindReplace(None, -1, 'Find/Replace')
app.MainLoop()
รบกวนใส่โค๊ดใน <code language="python">...</code> ด้วยครับ
จารบกวนทำไม ทำเองได้ความรู้เอง ไม่เข้าใจค่อยถามไม่ดีกว่าหรือครับ ????
+1
รูปภาพครับ
http://www.zetcode.com/wxpython/images/find_replace.png
code ตามนี้ครับผม
!/usr/bin/python
Find/Replace Dialog
import wx
class FindReplace(wx.Dialog):
def init(self, parent, id, title):
wx.Dialog.init(self, parent, id, title, size=(255, 365))
app = wx.App()
FindReplace(None, -1, 'Find/Replace')
app.MainLoop()
ข้ามห้องจาก Ruby มางงด้วยคน
รันดูแล้วไม่ได้ ก็น่าจะเอา error มาถามมากกว่านะ
ผมรันได้ครับ
BioLawCom.De
แทนที่จะถามว่ารันได้หรือเปล่า ผมว่าเอาปัญหาที่เจอมาถามดีกว่า
นั่นสิครับ ผมก็ตอบไปตามที่เขาถาม ก็ยังสงสัยอยู่ว่า จขกท จะได้ประโยชน์อะไรหากรู้ว่าผมรันได้
BioLawCom.De
อย่างไรก็แล้วแต่ ต้องขอโทษในเบื้องต้นก่อนนะครับ
ผมรันดูแล้วนะครับ มันไม่ได้ตามรูปภาพครับ
ในเบื้องต้นก็เลยอยากถามว่า ท่านอื่นๆ จะได้ตามรูปหรือไม่
เพราะ code นี้ เป็น code ที่สอนในเว็บ
มีรูปให้เรียบร้อย แต่ผมนั้น รันไม่ได้ตามรูปนั้น
ก็เลยอยากทราบจากท่านอื่นๆ ก่อนว่า มีใครได้ตามรูปหรือไม่ครับ
ตามที่รันนั้น ดูเหมือนว่า พอรันดูแล้วสิ่งที่แสดงออกมา มันจะทับกันในตำแหน่งเดิมหมดเลย
แต่เนื่องจากว่า มือใหม่ ก็เลยหาจุดที่จะแก้ไข ยังไม่เจอ
มันเป็นเรื่องเกี่ยวกับ Layout ซึ่งผมคิดว่ามันยากอยู่เหมือนกัน
Error คงจะไม่มีครับ เพราะ สิ่งที่แสดงออกมามันจะทันกันหมด
ผมคิดว่าอย่างนั้นนะครับผม
ใครทำให้มันเป็นตามรูปได้ ก็ช่วยชี้แนะหน่อยนะครับผม
ขอบคุณล่วงหน้านะครับ
เอารุปที่ไม่เหมือนให้พี่เขาดูผมว่าน่าจะช่วยได้นะครับ ถ้าเป็นเกี่ยวกับ layout จะได้รู้ว่าทำไมผิด เขียนบน ubuntu ใช่ีมั้ยครับ
แสวงหามิใช่เพราะรอคอย เชี่ยวชาญมิใช่เพราะโอกาส ชำนาญมิใช่เพราะโชคช่วย"ดังนี้แล้วลิขิตฟ้าหรือจะสู้มานะตน"chonlatee
บน Windows ครับ
ผลแก้ไขตามนี้นะครับ
panel1 = wx.Panel(panel, -1)
เป็น
panel1 = wx.Panel(self, -1)
panel2 = wx.Panel(panel, -1)
เป็น
panel2 = wx.Panel(self, -1)
panel3 = wx.Panel(panel, -1)
เป็น
panel3 = wx.Panel(self, -1)
panel4 = wx.Panel(panel, -1)
เป็น
panel4 = wx.Panel(self, -1)
panel5 = wx.Panel(panel, -1)
เป็น
panel5 = wx.Panel(self, -1)
มันได้นะครับ
แต่ว่า Layout มันจะไม่สวยงาม
คงมีปัญหากับการใช้ Panel กับ Sizer ต่างๆ ที่ไม่ถูกต้องอยู่
บน windows ลองเปลี่ยน
panel.SetSizer(vbox_top)
เป็น
panel.SetSizer(vbox_top)
panel.Fit()
หรือ
panel.SetSizerAndFit(vbox_top)