1
A
回答
-1
使用wiki
import wx
class MyDialog(wx.Dialog):
def __init__(self, parent, id, title):
wx.Dialog.__init__(self, parent, id, title)
class MyApp(wx.App):
def OnInit(self):
dia = MyDialog(None, -1, "simpledialog.py")
dia.ShowModal()
dia.Destroy()
return True
app = MyApp(0)
app.MainLoop()
3
使用的wx.FindReplaceDialog
并非如此简单明了,因为我们可以从它的名字的期望。 该对话框为您提供了一个对话框小部件,其中包含用于搜索(或替换)操作的参数和条目。您可以从对话框(实际上是从事件或从wx.FindReplaceData
对象)读取这些参数和字符串以查找。然而,阅读,搜索和/或替换目标文本以及将命中可视化的过程必须单独实施。
例如,这是一个显示对话框的图形,该对话框包含一个字符串以查找以及一个文本控件,其中发现的字符串是彩色的。
该图已经用下面的代码生成。但请注意,此代码功能不完整。事实上,它只适用于第一次搜索。对于下一次搜索,您必须从当前位置执行新的string.find()
,并且您还可能需要“清理”之前找到的字符串,并将其设为原始样式。此外,脚本不使用其他参数(搜索方向,强制匹配大小写等)。
import wx
class MyFrame(wx.Frame):
def __init__(self, *args, **kwds):
kwds["style"] = wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
self.tc = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE|wx.TE_RICH2)
self.bt_find = wx.Button(self, -1, "find")
self.Bind(wx.EVT_BUTTON, self.on_button, self.bt_find)
self.Bind(wx.EVT_FIND, self.on_find)
self.pos = 0
self.size = 0
#
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.tc, 1, wx.EXPAND, 0)
sizer.Add(self.bt_find, 0, wx.ALIGN_CENTER_HORIZONTAL, 0)
self.SetSizer(sizer)
sizer.Fit(self)
self.Layout()
def on_button(self, event):
self.txt = self.tc.GetValue()
self.data = wx.FindReplaceData() # initializes and holds search parameters
self.dlg = wx.FindReplaceDialog(self.tc, self.data, 'Find')
self.dlg.Show()
def on_find(self, event):
fstring = self.data.GetFindString() # also from event.GetFindString()
self.pos = self.txt.find(fstring, self.pos)
self.size = len(fstring)
self.tc.SetStyle(self.pos, self.pos+self.size, wx.TextAttr("red", "black"))
if __name__ == "__main__":
app = wx.PySimpleApp(0)
frame_1 = MyFrame(None, wx.ID_ANY, "")
frame_1.Show()
app.MainLoop()
要充分利用小部件,你可以检查的属性和方法的wx.FindReplaceDialog
,wx.FindReplaceData
以及为他们发出events。
或者,您可以检查stani's python editor代码。 GUI是wxPython,并有一个插件用于查找包含给定文本的目录树不同深度的文件。你可以从那里得到一个好的提示。但它不是你想要的wx.Dialog
。
相关问题
- 1. wxPython对话框
- 2. 使用wxPython构建帮助对话框
- 3. wxPython:上下文对话框弹出
- 4. wxpython文件打开对话框
- 5. 在WxPython中检查文件保存对话框中的覆盖
- 6. BBEdit“查找”对话框
- 7. wxPython的:从对话框获取值,并且使用它的对话框类
- 8. 你可以使用wxPython自动隐藏框架/对话框吗?
- 9. 使用AppleScript更改对话框文本?
- 10. wxPython对话框:“Enter”键盘按钮不会“ok”对话框
- 11. Web浏览器查找html元素中文本的对话框
- 12. 查找wxpython事件文档
- 13. wxPython中 - 印在第三个对话框
- 14. wxPython消息对话框不能使用函数
- 15. 使用pywinauto查找qwidget对象文本
- 16. 如何将查找对话框定位为不覆盖找到的文本?
- 17. 无法找到模态对话框窗口中的文本框?
- 18. wxPython菜单文本对齐
- 19. 字体对话框并应用于文本框文本
- 20. Android:在对话框中查找按钮
- 21. 在C#中查找对话框?
- 22. 查找并替换对话框
- 23. 对话框中的多行文本框
- 24. 查找文本框控件
- 25. 的wxPython:文本对齐不起作用
- 26. 如何使用UFT脚本获取对话框文本?
- 27. wxPython用于保存文件选取器的错误文件对话框?
- 28. 文本查找使用LINQ
- 29. 使用jQuery查找文本?
- 30. 如何在查询对话框查找中插入引用?