Python wx.lib.agw.ultimatelistctrl。禁止增加元件的高度

Python wx.lib.agw.ultimatelistctrl。禁止增加元件的高度,python,python-3.x,python-3.4,wxpython,Python,Python 3.x,Python 3.4,Wxpython,存在一个对象UltimateListCtrl from wx.lib.agw import ultimatelistctrl as ULC self._ulc_graphs = ULC.UltimateListCtrl(self, size = (-1, 150), agwStyle=wx.LC_REPORT|wx.LC_VRULES|wx.LC_HRULES|ULC.ULC_HAS_VARIABLE_ROW_HEIGHT|ULC.ULC_SINGLE_SEL) 此列表包含六列。最后

存在一个对象UltimateListCtrl

from wx.lib.agw import ultimatelistctrl as ULC

self._ulc_graphs = ULC.UltimateListCtrl(self, size = (-1, 150),
    agwStyle=wx.LC_REPORT|wx.LC_VRULES|wx.LC_HRULES|ULC.ULC_HAS_VARIABLE_ROW_HEIGHT|ULC.ULC_SINGLE_SEL)
此列表包含六列。最后一栏“评论”。由于此对象不允许直接编辑第n列中的元素值(只能编辑第0列)。决定在最后一列的每一行中插入一个按钮,单击该按钮将弹出一个带有wx.TextCtrl的对话框。用户在此处输入注释,单击“确定”,注释文本将输入列表第n项的最后一列。第5列(如果为0):

结果:

当然,强制用户将文本写入一行是个坏主意。因此,我为wx.TextCtrl对象包含了wx.TE_多行样式。但是,当我将多行文本插入列表单元格时,该单元格会增大其大小:元素高度=文本中的行数

当然,这看起来很糟糕:


我能以某种方式禁止它(高度增加)吗?

我可能误解了您的问题,但为什么不干脆替换对话框结果中的所有换行符。
大致如下:

def OnButtonComment(self,event):
    dlg = wx.TextEntryDialog(self, "Comment", caption="Input Data",
            value="", style=wx.OK|wx.CANCEL|wx.TE_MULTILINE)
    dlg.ShowModal()
    txt = dlg.GetValue()
    txt = txt.replace('\n',' ')
    self.list.SetStringItem(self.index, 1, txt)

谢谢你的回答。我就是这么做的。仅替换为“0x00”。
def OnButtonComment(self,event):
    dlg = wx.TextEntryDialog(self, "Comment", caption="Input Data",
            value="", style=wx.OK|wx.CANCEL|wx.TE_MULTILINE)
    dlg.ShowModal()
    txt = dlg.GetValue()
    txt = txt.replace('\n',' ')
    self.list.SetStringItem(self.index, 1, txt)