# coding: gb2312 from PyQt5.QtWidgets import * from LSZXPagesLibrary.home_page_widget_define import HomePageWidgetDefine class HomePageLayoutDefine(HomePageWidgetDefine): def __init__(self): super().__init__() """**布局定义**布局定义**布局定义**布局定义**布局定义**布局定义**布局定义**布局定义**布局定义**布局定义**布局定义""" # 设置页面主要布局为垂直布局, # 第一行为图像、按钮、WiFi, self.main_row1 = QHBoxLayout() # 第二行为动作标准和动作难度、数据同步、成绩同步、LOGO self.main_row2 = QHBoxLayout() """**第一行布局定义**第一行布局定义**第一行布局定义**第一行布局定义**第一行布局定义**第一行布局定义**第一行布局定义""" # 增加图像布局 self.image_layout = QVBoxLayout() self.image_layout.addWidget(self.image_widget) # 创建6个按钮和WiFi的布局 # 按钮第一行 self.row1_button_layout = QHBoxLayout() self.row1_button_layout.setContentsMargins(10, 5, 10, 5) self.row1_button_layout.addWidget(self.sit_up_widget, 33) self.row1_button_layout.addWidget(self.pull_up_widget, 33) self.row1_button_layout.addWidget(self.hanging_up_widget, 33) # 按钮第二行 self.row2_button_layout = QHBoxLayout() self.row2_button_layout.setContentsMargins(10, 5, 10, 5) self.row2_button_layout.addWidget(self.push_up_widget, 33) self.row2_button_layout.addWidget(self.runaround_widget, 33) self.row2_button_layout.addWidget(self.running_widget, 33) # 合并按钮第一行和按钮第二行 self.button_layout = QVBoxLayout() self.button_layout.addLayout(self.row1_button_layout) self.button_layout.addLayout(self.row2_button_layout) # WiFi侧布局 self.wifi_layout = QVBoxLayout() self.wifi_layout.addWidget(self.empty_box, 15) self.wifi_layout.addWidget(self.wifi_stacked_widget, 25) self.wifi_layout.addWidget(self.empty_box, 160) # 布局定义 self.main_row1.addLayout(self.image_layout, 19) self.main_row1.addLayout(self.button_layout, 66) self.main_row1.addLayout(self.wifi_layout, 5) self.main_row1.setContentsMargins(20, 10, 20, 10) """**第二行布局定义**第二行布局定义**第二行布局定义**第二行布局定义**第二行布局定义**第二行布局定义**第二行布局定义""" # 生成动作和标注的基本布局 self.title_layout = QVBoxLayout() self.title_layout.addWidget(self.standard_title) self.title_layout.addWidget(self.difficulty_title) self.value_layout = QVBoxLayout() self.value_layout.addWidget(self.standard_value) self.value_layout.addWidget(self.difficulty_value) self.standard_difficulty_layout = QHBoxLayout() self.standard_difficulty_layout.addLayout(self.title_layout, 30) self.standard_difficulty_layout.addLayout(self.value_layout, 70) self.standard_difficulty_layout.setContentsMargins(20, 10, 20, 10) # 同步区布局 self.synchronization_layout = QHBoxLayout() self.synchronization_layout.addWidget(self.data_synchronization_button, 48) self.synchronization_layout.addWidget(self.empty_box, 4) self.synchronization_layout.addWidget(self.score_synchronization_button, 48) # logo布局 self.logo_layout = QHBoxLayout() self.logo_layout.setContentsMargins(22, 0, 22, 0) self.logo_layout.addWidget(self.logo_label) # 布局定义 self.main_row2.addLayout(self.standard_difficulty_layout, 20) # 占据20%的屏幕宽度 self.main_row2.addLayout(self.synchronization_layout, 70) # 占据70%的屏幕宽度 self.main_row2.addLayout(self.logo_layout, 10) # 占据10%的屏幕宽度 """**总布局定义**总布局定义**总布局定义**总布局定义**总布局定义**总布局定义**总布局定义**总布局定义**总布局定义""" # 总布局定义 self.layout = QVBoxLayout() self.layout.addLayout(self.main_row1, stretch=85) # 设置上容器的高度为85% self.layout.addLayout(self.main_row2, stretch=15) # 设置下容器的高度为15% self.setLayout(self.layout)