python的GUI包选择:wxpython
1 | python3 -m pip install wxpython |
wxpython基本使用
构建frame
1 | import wx |
###基本元素
文字
1 | #基本 |
按钮
1 | # button触发内容 |
勾选眶
1 | cb1 = wx.CheckBox(panel, label='Case Sensitive') |
文字输入框
1 | #最基本 |
图片
1 | png = wx.Image(imageFile, wx.BITMAP_TYPE_ANY).ConvertToBitmap() |
布局
boxSizer 使我们能够将多个组件放入行或列中。 我们可以将另一个 sizer 放入现有的 sizer 中。 这样我们可以创建非常复杂的布局。
1 | #竖着的 |
wx.GridSizer: 在二维表格中展示组件。 表格中的每个单元具有相同的大小。
1 | # 初始化 wx.GridSizer(int rows=1, int cols=0, int vgap=0, int hgap=0)行数和列数,纵向和横向的单元格之间的间隔(单位是像素) |
wx.FlexGridSizer:与 wx.GridSizer
类似。它也在一个二维表中的放置组件。它增加了一些灵活性。wx.GridSizer
单元格大小相同。wx.FlexGridSizer
中的所有单元格在同一行中具有相同的高度。所有单元在一列中具有相同的宽度。但是所有的行和列不需要是同样的高度或宽度。
1 | # 初始化 wx.FlexGridSizer(int rows=1, int cols=0, int vgap=0, int hgap=0) 行,列,每行/列之间的gap |
wx.GridBagSizer:是 wxPython 中最灵活的 size
1 | #初始化wx.GridBagSizer(integer vgap, integer hgap) 所有元素之间的间隔(单位为像素) |
高级技巧
拖拽文件
1 | import wx |