62 lines
2.3 KiB
Python
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()) |