LISHUZUOXUN_yangjiang/LSZXPagesLibrary/home_page_layout_define.py

82 lines
4.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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)