查查文档,看看有哪些合适你的方法,譬如你得到一行结果就更新文本控件的话,可以类似下面做法:
if 'FAIL' in line:
selftextctrlSetDefaultStyle(wxTextAttr("RED"))
elif 'PASS' in line:
selftextctrlSetDefaultStyle(wxTextAttr("BLUE"))
else:
selftextctrlSetDefaultStyle(wxTextAttr("BLACK"))
selftextctrlAppendText(line)
py2app官网:
>
安装wxPython
下面是wxPython特别基础的使用方法,将以一个小程序为例来说明,它的功能是在一个文本框中输入文件名,点击open按钮,会在另一个文本框中显示其内容,可以进行修改,点击save可以保存修改。
wxPython的使用简介
创建应用程序对象:wxApp()
app=wxApp()
appMainLoop()
窗口/框架:wxFrame()
win=wxFrame(None,title='example')
winShow()
按钮:wxButton()
关键字label设置标签:
btn=wxButton(win,label='open')
绑定事件:
btnBind(wxEVT_BUTTON,load)
文本控件:wxTextCtrl()
关键字style有wxTE_MULTILINE(垂直滚动条),wxHSXROLL(水平滚动条):
filename=wxTextCtrl(win,style=wxTE_MULTILINE|wxHSXROLL)
同时我们可以在读取或者写入其内容:
filenameGetValue() filenameSetValue('string')
布局:使用尺寸器(sizer)
wxBoxSizer的原理是创建一个箱子一样的东西,只能横着或者竖着放组件,一个一个的加进去,除了基本大小外其余空间按比例分配。加完一行行的箱子后,创建一个竖着的箱子,将这些横着的箱子(也可以是其他组件)加进去。
背景组件:wxPanel()
以窗口为参数构建,所有的组件依附其上,在设置完尺寸器后,使用bkgSetSizer(box)
尺寸器的构建函数:wxBoxSizer()
有一个决定它是垂直还是水平的参数(wxHORIZONTAL水平,wxVERTICAL垂直),默认为水平。
box=wxBoxSizer(wxVERTICAL)
Add方法
proportion参数决定这个组件在剩余空间中的分配比例,flag参数有wxEXPAND(会确保组件会扩展到分配的空间里),wxLEFT,wxRIGHT,wxTOP,wxBOTTOM,wxALL(这五个决定边框参数会应用到那个边),border参数会确定边框的大小。
完整版的源代码如下:
#coding=utf-8import wx
#设置函数
def load(event):
f=open(filenameGetValue(),'r')
contentSetValue(fread())
fclose()
def save(event):
f=open(filenameGetValue(),'w')
fwrite(contentGetValue())
fclose()
app=wxApp()
win=wxFrame(None,title='simple editor',size=(410,330))
bkg=wxPanel(win)
loadbutton=wxButton(bkg,label='Open')
loadbuttonBind(wxEVT_BUTTON,load)
savebutton=wxButton(bkg,label='Save')
savebuttonBind(wxEVT_BUTTON,save)
filename=wxTextCtrl(bkg)
content=wxTextCtrl(bkg,style=wxTE_MULTILINE|wxHSCROLL)
hbox=wxBoxSizer()
hboxAdd(filename,proportion=1,flag=wxEXPAND)
hboxAdd(loadbutton,proportion=0,flag=wxLEFT,border=5)
hboxAdd(savebutton,proportion=0,flag=wxLEFT,border=5)
vbox=wxBoxSizer(wxVERTICAL)
vboxAdd(hbox,proportion=0,flag=wxALL,border=5)
vboxAdd(content,proportion=1,flag=wxEXPAND|wxALL,border=5)
bkgSetSizer(vbox)
winShow()
appMainLoop()`
可以在python中读取文本框中的内容,作为参数传给c++程序,返回值可以直接通过调用exe的函数读取,或者通过c++将结果输出到文本文件中,然后python后台读取文本文件中的值,显示到结果文本框中。
以上就是关于关于大侠请留步,wxpython TextCtrl控件怎么设定文本颜色全部的内容,包括:关于大侠请留步,wxpython TextCtrl控件怎么设定文本颜色、python打包成可执行文件app(Mac版)、python 编写gui界面有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)