Files
Feeding_control_system/view/widgets/mixer_widget.py
2025-11-01 16:13:30 +08:00

62 lines
2.3 KiB
Python

from PySide6.QtWidgets import QWidget, QLabel, QHBoxLayout
from PySide6.QtGui import QPixmap, QFont
from PySide6.QtCore import Qt
import resources.resources_rc
from utils.image_paths import ImagePaths
class MixerWidget(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
# 初始化布局
layout = QHBoxLayout(self)
layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(0)
self.setFixedSize(225, 102)
# 1. 创建“搅拌机”文字标签
self.text_label = QLabel("搅拌机")
self.text_label.setFixedSize(100, 23)
self.text_label.setFont(QFont("Arial", 14)) # 设置字体大小为16px
self.text_label.setAlignment(Qt.AlignCenter)
self.text_label.setStyleSheet(f"""
background-image: url({ImagePaths.TEXT_TITLE_BG});
background-repeat: no-repeat;
background-position: center;
color: #0bffff; /* 可根据需求调整文字颜色 */
""")
layout.addWidget(self.text_label, alignment=Qt.AlignLeft)
# 2. 创建搅拌机设备及搅拌桨图标
self.device_label = QLabel()
device_pixmap = QPixmap(ImagePaths.MIXER)
self.device_label.setPixmap(device_pixmap)
layout.addWidget(self.device_label, alignment=Qt.AlignLeft)
# 3. 叠加两个搅拌桨图标
self.blade1 = QLabel(self.device_label) # 从左往右第一个搅拌桨
blade1_pixmap = QPixmap(ImagePaths.MIXER_PADDLE)
self.blade1.setPixmap(blade1_pixmap)
self.blade1.move(
(device_pixmap.width() - blade1_pixmap.width()) // 2 - 26,
(device_pixmap.height() - blade1_pixmap.height()) // 2 - 4
)
self.blade2 = QLabel(self.device_label)
blade2_pixmap = QPixmap(ImagePaths.MIXER_PADDLE) # 从左往右第二个搅拌桨
self.blade2.setPixmap(blade2_pixmap)
self.blade2.move(
(device_pixmap.width() - blade2_pixmap.width()) // 2 + 31,
(device_pixmap.height() - blade2_pixmap.height()) // 2 - 4
)
# 测试代码
if __name__ == "__main__":
import sys
from PySide6.QtWidgets import QApplication, QMainWindow
app = QApplication(sys.argv)
mixer_widget = MixerWidget()
mixer_widget.show()
sys.exit(app.exec())