wxpython类似TK中的label frame实现

StaticBox
Python code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
'''
ZetCode wxPython tutorial
 
In this code example, we create a
custom dialog.
 
author: Jan Bodnar
website: www.zetcode.com
last modified: July 2012
'''
 
import  wx
 
class  ChangeDepthDialog(wx.Dialog):
     
     def  __init__( self * args,  * * kw):
         super (ChangeDepthDialog,  self ).__init__( * args,  * * kw) 
             
         self .InitUI()
         self .SetSize(( 250 200 ))
         self .SetTitle( "Change Color Depth" )
         
         
     def  InitUI( self ):
 
         pnl  =  wx.Panel( self )
         vbox  =  wx.BoxSizer(wx.VERTICAL)
 
         sb  =  wx.StaticBox(pnl, label = 'Colors' )
         sbs  =  wx.StaticBoxSizer(sb, orient = wx.VERTICAL)        
         sbs.Add(wx.RadioButton(pnl, label = '256 Colors'
             style = wx.RB_GROUP))
         sbs.Add(wx.RadioButton(pnl, label = '16 Colors' ))
         sbs.Add(wx.RadioButton(pnl, label = '2 Colors' ))
         
         hbox1  =  wx.BoxSizer(wx.HORIZONTAL)        
         hbox1.Add(wx.RadioButton(pnl, label = 'Custom' ))
         hbox1.Add(wx.TextCtrl(pnl), flag = wx.LEFT, border = 5 )
         sbs.Add(hbox1)
         
         pnl.SetSizer(sbs)
        
         hbox2  =  wx.BoxSizer(wx.HORIZONTAL)
         okButton  =  wx.Button( self , label = 'Ok' )
         closeButton  =  wx.Button( self , label = 'Close' )
         hbox2.Add(okButton)
         hbox2.Add(closeButton, flag = wx.LEFT, border = 5 )
 
         vbox.Add(pnl, proportion = 1
             flag = wx. ALL |wx.EXPAND, border = 5 )
         vbox.Add(hbox2, 
             flag = wx.ALIGN_CENTER|wx.TOP|wx.BOTTOM, border = 10 )
 
         self .SetSizer(vbox)
         
         okButton.Bind(wx.EVT_BUTTON,  self .OnClose)
         closeButton.Bind(wx.EVT_BUTTON,  self .OnClose)
         
         
     def  OnClose( self , e):
         
         self .Destroy()
         
         
class  Example(wx.Frame):
     
     def  __init__( self * args,  * * kw):
         super (Example,  self ).__init__( * args,  * * kw) 
             
         self .InitUI()
         
         
     def  InitUI( self ):    
     
         ID_DEPTH  =  wx.NewId()
 
         tb  =  self .CreateToolBar()
         tb.AddLabelTool( id = ID_DEPTH, label = '', 
             bitmap = wx.Bitmap( 'color.png' ))
         
         tb.Realize()
 
         self .Bind(wx.EVT_TOOL,  self .OnChangeDepth, 
             id = ID_DEPTH)
 
         self .SetSize(( 300 200 ))
         self .SetTitle( 'Custom dialog' )
         self .Centre()
         self .Show( True )
         
         
     def  OnChangeDepth( self , e):
         
         chgdep  =  ChangeDepthDialog( None
             title = 'Change Color Depth' )
         chgdep.ShowModal()
         chgdep.Destroy()        
 
 
def  main():
     
     ex  =  wx.App()
     Example( None )
     ex.MainLoop()    
 
 
if  __name__  = =  '__main__' :
     main()

from PIL import Image import tkinter as tk def show_results(results): # 创建子界面 win = tk.Toplevel() win.geometry("400x400") win.title("子界面") # 创建表格 table = tk.Frame(win) table.pack() # 创建表头 tk.Label(table, text="X").grid(row=0, column=0) tk.Label(table, text="Y").grid(row=0, column=1) tk.Label(table, text="W").grid(row=0, column=2) tk.Label(table, text="H").grid(row=0, column=3) tk.Label(table, text="类别").grid(row=0, column=4) # 创建表格内容 for i, s1 in enumerate(results): tk.Label(table, text=s1[0]).grid(row=i + 1, column=0) tk.Label(table, text=s1[1]).grid(row=i + 1, column=1) tk.Label(table, text=s1[2]).grid(row=i + 1, column=2) tk.Label(table, text=s1[3]).grid(row=i + 1, column=3) tk.Label(table, text=s1[4]).grid(row=i + 1, column=4) # 创建选择按钮 select_button = tk.Button(table, text="选择", command=lambda s=s1: select_result(s)) select_button.grid(row=i + 1, column=5) # 定义选择结果函数 def select_result(result): print("选择的是:", result) def site(source, pred, names): img = Image.open(source) x1, x2 = img.size print([x1, x2]) results = [] for i1 in pred: s = [] for i2 in i1.data.cpu().numpy(): s1 = [] s = list(i2) # 获取预测框中心点的坐标 x = s[0] = float(round((s[0] + s[2]) / 2 / x1, 4)) y = s[1] = float(round((s[1] + s[3]) / 2 / x2, 4)) # 预测框的宽和高 w = s[2] - s[0] h = s[3] - s[1] s1.append(str(x)) s1.append(str(y)) s1.append(str(w)) s1.append(str(h)) s1.append(names[int(s[5])]) if s[4] < 0.5: break results.append(s1) # 创建GUI界面 window = tk.Tk() window.geometry("400x400") # 创建按钮 for name in set([r[4] for r in results]): tk.Label(window, text=name).pack() button = tk.Button(window, text="显示" + name + " 的结果", command=lambda name=name: show_results([r[:4]+[name] for r in results if r[4] == name])) button.pack() # 创建确定按钮 confirm_button = tk.Button(window, text="退出", command=window.quit) confirm_button.pack() window.mainloop()将这个程序的上位机界面修改得更美观
05-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值