在wxPython使ListCtrl佔據整個視窗

2021-04-01 11:39:37 字數 1032 閱讀 5609

# -*- coding: gb2312 -*-

import wx, wx.xrc

import sys

def oninit(self):

self.redirectstdio("err.log")

self.res = wx.xrc.xmlresource("my.xrc")

self.initframe()

self.show()

return true

def initframe(self):

self.frame = self.res.loadframe(none, "mainframe")

self.panel = wx.xrc.xrcctrl(self.frame, "mainpanel")

self.list = wx.listctrl(self.panel, wx.newid(),

style=wx.lc_report

| wx.border_none

| wx.lc_edit_labels

| wx.lc_sort_ascending

)self.list.insertcolumn(0, "artist")

self.list.insertcolumn(1, "title")

self.list.insertcolumn(2, "genre")

box = wx.boxsizer(wx.vertical)

box.add(self.list, 1, wx.expand|wx.all, 5)

self.panel.setsizer(box)

def show(self):

self.settopwindow(self.frame)

self.frame.show()

my.xrc:

<?xml version="1.0" encoding="utf-8"?>

說明:因為panel並不會講其中的控制項最大化,所以其中的listctrl並不會佔據整個視窗,但是使用boxsizer可以做到這一點。見**中的紅色部分。

在wxPython中使用OpenGL

參考資料只有wxpython doc的乙個例子。需要安裝pyopengl pyopengl.sourceforge.net 給opengl使用的視窗容器是wx.glcanvas.glcanvas,子類化它,並在子類的paint事件處理中這樣處理 def onpaint self,event dc w...

在wxPython中使用OpenGL

參考資料只有wxpython doc的乙個例子。需要安裝pyopengl pyopengl.sourceforge.net 給opengl使用的視窗容器是wx.glcanvas.glcanvas,子類化它,並在子類的paint事件處理中這樣處理 def onpaint self,event dc w...

FastSlam在ubuntu Qt下的使用問題

最近看了一下fastslam,git上有新增gui的版本 fastslamwithgui 在ubuntu的qt上執行,首先qt版本要注意,原始碼用的是qt4,如果用qt5的話要公升級專案,具體要改的地方可見 用makefile編譯是成功的,執行也沒有問題。但是由於我不會用gdb除錯多執行緒,所以用了...