WXPYTHON- 목록 제어를 수직으로 수평으로 확장합니다
문제
사용자가 선택할 항목 목록을 표시하는 ListCtrl이 있습니다. 이것은 CTRL이 모든 항목을 보여줄만큼 충분히 크지 않으면 오른쪽으로 확장 될 때 수평 스크롤 막대를 사용하기보다는 수직 스콜드 바로 아래쪽으로 확장되기를 원한다는 점을 제외하고는 잘 작동합니다.
ListCtrl의 생성 :
self.subjectList = wx.ListCtrl(self, self.ID_SUBJECT, style = wx.LC_LIST | wx.LC_SINGLE_SEL | wx.LC_VRULES)
wx.listitem을 사용하여 항목을 삽입합니다.
item = wx.ListItem()
item.SetText(subject)
item.SetData(id)
item.SetWidth(200)
self.subjectList.InsertItem(item)
해결책
사용 wxlc_report 스타일.
import wx
class Test(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None)
self.test = wx.ListCtrl(self, style = wx.LC_REPORT | wx.LC_NO_HEADER)
for i in range(5):
self.test.InsertColumn(i, 'Col %d' % (i + 1))
self.test.SetColumnWidth(i, 200)
for i in range(0, 100, 5):
index = self.test.InsertStringItem(self.test.GetItemCount(), "")
for j in range(5):
self.test.SetStringItem(index, j, str(i+j)*30)
self.Show()
app = wx.PySimpleApp()
app.TopWindow = Test()
app.MainLoop()
다른 팁
이 시도:
import wx
class Test(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None)
self.test = wx.ListCtrl(self, style = wx.LC_ICON | wx.LC_AUTOARRANGE)
for i in range(100):
self.test.InsertStringItem(self.test.GetItemCount(), str(i))
self.Show()
app = wx.PySimpleApp()
app.TopWindow = Test()
app.MainLoop()
제휴하지 않습니다 StackOverflow