2013-03-25 2 views
0

wxPython의 wx.ListCtrl을 사용하여 테이블을 표시하고 있습니다. 각 열마다 InsertImageStringItem 메서드를 사용하여 새 행을 삽입하고 SetStringItem을 사용하여 다른 열을 추가합니다. InsertImageStringItem 방법에서는 이미지 인덱스에 -1을 사용하고 있으므로 첫 번째 열에 아이콘이 없어야합니다. 이것은 Mac OS X에서 완벽하게 작동합니다. 그러나 Windows에서는 첫 번째 열이 항상 이미지 인덱스가 0 인 아이콘을 표시합니다.wx.ListCtrl은 항상 Windows에 아이콘을 표시합니다.

어떤 것이 문제인지 아는 사람이 있습니까?

답변

0

Windows 네이티브 위젯은 아마도 이미지를 삽입해야한다고 말하기 때문에 이미지가 필요합니다. 첫 번째 열에 이미지를 삽입하지 않으려면 대신 InsertStringItem을 사용하십시오.

편집 : 로빈 던, wxPython에의 창조자에 따르면

:

Windows의 기본 ListView 컨트롤은 을주는 경우는 이미지 목록은 다음이 있다고 가정하는 "기능"을 가지고 이미지가있는 개의 항목을 표시하려고하므로 자동으로 공간이 확보됩니다. 하나의 이 문제를 해결하려면 모든 열을 한 칸 오른쪽으로 이동하는 것입니다 ( ). 따라서 첫 번째 열은 이미지에 에 예약 된 공간을 제외하고는 아무것도 표시되지 않습니다. 그런 다음 해당 열의 너비를 0으로 설정할 수 있습니다.

출처 : http://wxpython-users.1045709.n5.nabble.com/wx-ListCtrl-and-its-image-list-td2315539.html

+0

는 사실, 난 처음에 InsertStringItem을 사용하고 있었다. (다른 열에 아이콘을 추가해야합니다.) 그러나 Windows의 첫 번째 열에는 항상 아이콘이 표시됩니다. 기본적으로 인덱스 0을 사용하고 있으므로 InsertImageStringItem을 사용하도록 변경하고 -1을 수동으로 사용한다고 생각합니다. 하지만 여전히 인덱스 0의 아이콘을 보여줍니다. –

+0

wxPython 사용자 그룹에서 가져온 내 대답에 대한 추가 설명을 추가했습니다. –

관련 문제