Files
virtual_simulation_midware/midware/ui/__pycache__/main_ui.cpython-311.pyc

32 lines
6.3 KiB
Plaintext
Raw Normal View History

2026-06-16 15:40:19 +08:00
<EFBFBD>
;<3B><>i<EFBFBD><00><00><><00>dZddlZddlmZmZmZddlZddlmZddl m
Z
ddl m a m Z d<07>Zd<08>Zd <09>Zd
<EFBFBD>Zed kr e<11><00>dSdS) u<>6. 简易 UI 模块midware/ui/main_ui.py
基于 tkinter 实现基础主界面,包含配置文件导入、外设配置表、数据传输状态、原始数据查看,满足用户界面需求:
<EFBFBD>N)<03>ttk<74>
filedialog<EFBFBD>
messagebox)<01>logger)<01>load_csv_config)<02>DEVICE_CONFIG_DICT<43>
BUS_CONFIGc<00><><00>tjdddg<02><04><00>}|sdS t|<00><00>at <00><00>t jddtt<00><00><00>d<08><03><00>tj d tj <00> |<00><00><00><00><02><00>dS#t$rV}t jd
d t|<01><00><00><00><02><00>tjd t|<01><00><00><00>d <0C> <0A><00>Yd}~dSd}~wwxYw)u导入Excel配置文件u选择外设配置文件)u Excel文件z *.xlsx;*.xls)u 所有文件z*.*)<02>title<6C> filetypesNu成功u导入配置文件成功共u 个外设u手动导入配置文件u失败u导入配置文件失败T)<01>exc_info)r<00>askopenfilenamerr<00>refresh_device_tabler<00>showinfo<66>lenr<00>info<66>os<6F>path<74>basename<6D> Exception<6F> showerror<6F>str<74>error)<02> file_path<74>es <20>_e:\小卫星\2026\虚拟平台\中间层软件\virtual_simulation_midware\midware\ui\main_ui.py<70>load_config_filer s&<00><00><1A>*<2A>(<28>2<>4K<34>L<><06><06><06>I<EFBFBD> <15><0F><0E><06> L<01>,<2C>Y<EFBFBD>7<>7<><1A><1C><1E><1E><1E><12><1B>H<EFBFBD>&i<>s<EFBFBD>K]<5D>G^<5E>G^<5E>&i<>&i<>&i<>j<>j<>j<><0E> <0B>O<>"<22>'<27>2B<32>2B<32>9<EFBFBD>2M<32>2M<32>O<>O<>P<>P<>P<>P<>P<><50> <14>L<01>L<01>L<01><12><1C>X<EFBFBD>'M<>S<EFBFBD><11>V<EFBFBD>V<EFBFBD>'M<>'M<>N<>N<>N<><0E> <0C>;<3B>3<EFBFBD>q<EFBFBD>6<EFBFBD>6<EFBFBD>;<3B>;<3B>d<EFBFBD>K<>K<>K<>K<>K<>K<>K<>K<>K<>K<><4B><EFBFBD><EFBFBD><EFBFBD>L<01><><EFBFBD>s<00>A<B<00>
C<<03>&A C7<03>7C<c<00>x<00>t<00><00><00>D]}t<00>|<00><00><00>tj<00><00>D]<5D>\}}t<00>dt j||<02>dd<01><00>t|<02>dd<04><00><00><00>t|<02>dd<04><00><00><00>|<02>dd<01><00>|<02>dd<01><00>|<02>dd<01><00>|<02>d d<01><00>|<02>d
d<01><00>f <09> <0B><00><00><>d S) u刷新外设配置表<E7BDAE><00>protocol<6F> base_addrr<00> offset_addr<64>udp_ip<69>udp_port<72>desc<73>
send_cache<EFBFBD>
recv_cache)<01>valuesN)
<EFBFBD> device_tree<65> get_children<65>deleter<00>items<6D>insert<72>tk<74>END<4E>get<65>hex)<03>item<65>dev_name<6D>dev_infos rrrs&<00><00><1C>(<28>(<28>*<2A>*<2A>!<21>!<21><04><13><1A><1A>4<EFBFBD> <20> <20> <20> <20>0<>6<>8<>8<>
<EFBFBD>
<EFBFBD><1A><08>(<28><13><1A><1A> <0E><02><06><18><18> <0C> <0C>Z<EFBFBD><12>,<2C>,<2C><13>H<EFBFBD>L<EFBFBD>L<EFBFBD><1B>a<EFBFBD>0<>0<>1<>1<><13>H<EFBFBD>L<EFBFBD>L<EFBFBD><1D><01>2<>2<>3<>3<><18> <0C> <0C>X<EFBFBD>r<EFBFBD>*<2A>*<2A><18> <0C> <0C>Z<EFBFBD><12>,<2C>,<2C><18> <0C> <0C>V<EFBFBD>R<EFBFBD>(<28>(<28><18> <0C> <0C>\<5C>2<EFBFBD>.<2E>.<2E><18> <0C> <0C>\<5C>2<EFBFBD>.<2E>.<2E>
<0E> <1B>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>c<00>0<00>tjdd<02><00>dS)uE查看原始数据预留接口后续实现时间排序展示u提示uN原始数据查看功能开发中将按时间排序展示所有单机数据N)rr<00>r5r<00> show_raw_datar85s<00><00><0E><17><08>"r<>s<>s<>s<>s<>sr5c<00>z<00>tj<00><00>}|<00>d<01><00>|<00>d<02><00>|<00>dd<03><00>t j|d<04><05><00>}|<01>tj<00><06><00>t j |dt<00><08><00><00> d d d
<EFBFBD> <0B><00>t j |d t<00><08><00><00> d d d
<EFBFBD> <0B><00>d}t j ||dd<10><11><00>a|D]E}t<00>||<03><12><00>t<00>|dtj<00><14><00><00>Ft<00>tjdd<04><15><00>t j|d<04><05><00>}|<04>tj<00><06><00>t j|d<16><12><00><00> d d <09><17><00>tjd<18><19><00>}t j||d<1A><1B><00><00> d d <0A><17><00>t+<00><00>|<00><00><00>dS)u启动主界面u!虚拟仿真平台中间层软件<E8BDAF>1200x600T<30>10)<01>padding)<01>fillu导入Excel配置)<02>text<78>commandr<00>)<03>row<6F>column<6D>padxu查看原始数据<E695B0>) u名称u协议u 基地址u 偏移地址<E59CB0>UDPIP<49>UDPPortu说明u 发送缓存u 接收缓存<E7BC93>headings<67>)<03>columns<6E>show<6F>height)r><00>x)<02>width<74>anchor)r=<00>expandr<u数据传输状态:)rArBu"运行中已连接UDP/缓存))<01>value<75>green)<02> textvariable<6C>
foregroundN)r.<00>Tkr <00>geometry<72> resizabler<00>Frame<6D>pack<63>X<>Buttonr<00>gridr8<00>Treeviewr)<00>headingrB<00>CENTER<45>BOTH<54>Label<65> StringVarr<00>mainloop)<06>root<6F> top_framerI<00>col<6F> status_frame<6D>
status_vars r<00> start_main_uirh9s<00><00> <0A>5<EFBFBD>7<EFBFBD>7<EFBFBD>D<EFBFBD><08>J<EFBFBD>J<EFBFBD>2<>3<>3<>3<><08>M<EFBFBD>M<EFBFBD>*<2A><1D><1D><1D><08>N<EFBFBD>N<EFBFBD>4<EFBFBD><14><1E><1E><1E><14> <09>$<24><04>-<2D>-<2D>-<2D>I<EFBFBD> <0A>N<EFBFBD>N<EFBFBD><02><04>N<EFBFBD><1D><1D><1D><07>J<EFBFBD>y<EFBFBD>2<><L<>M<>M<>M<>R<>R<>WX<57>ab<61>ij<69>R<>k<>k<>k<><07>J<EFBFBD>y<EFBFBD>3<>]<5D>K<>K<>K<>P<>P<>UV<55>_`<60>gh<67>P<>i<>i<>i<>~<01>G<EFBFBD><15>,<2C>t<EFBFBD>W<EFBFBD>:<3A>b<EFBFBD>Q<>Q<>Q<>K<EFBFBD><16>=<3D>=<3D><03><13><1B><1B>C<EFBFBD>c<EFBFBD><1B>*<2A>*<2A>*<2A><13><1A><1A>3<EFBFBD>c<EFBFBD>"<22>)<29><1A><<3C><<3C><<3C><<3C><0F><14><14>"<22>'<27>$<24><04><14>=<3D>=<3D>=<3D><17>9<EFBFBD>T<EFBFBD>4<EFBFBD>0<>0<>0<>L<EFBFBD><10><15><15>2<EFBFBD>4<EFBFBD><15> <20> <20> <20><07>I<EFBFBD>l<EFBFBD>!8<>9<>9<>9<>><3E>><3E>1<EFBFBD>Q<EFBFBD>><3E>O<>O<>O<><13><1C>$H<>I<>I<>I<>J<EFBFBD><07>I<EFBFBD>l<EFBFBD><1A><07>H<>H<>H<>M<>M<>RS<52>\]<5D>M<>^<5E>^<5E>^<5E><19><1A><1A><1A> <09>M<EFBFBD>M<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD>Or5<00>__main__)<13>__doc__<5F>tkinterr.rrrr<00>logurur<00>midware.config.excel_configr<00>midware.config.base_configrr rrr8rh<00>__name__r7r5r<00><module>rps<><00><01><04><04><15><14><14><14>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F>/<2F> <09> <09> <09> <09><19><19><19><19><19><19>7<>7<>7<>7<>7<>7<>E<>E<>E<>E<>E<>E<>E<>E<>L<01>L<01>L<01>&
<EFBFBD>
<EFBFBD>
<EFBFBD>,t<01>t<01>t<01>"<14>"<14>"<14>H <0C>z<EFBFBD><19><19><11>M<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD><1A>r5