S SmartDocs
Series: ocpp python 182 lines · Updated 2026-02-03

home.py

ocpp/homework/ui_hori/home.py

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'home.ui'
#
# Created by: PyQt5 UI code generator 5.15.10
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(1024, 600)
        self.label = QtWidgets.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(0, 0, 1024, 600))
        self.label.setStyleSheet("")
        self.label.setText("")
        self.label.setPixmap(QtGui.QPixmap("image/bg_index1.png"))
        self.label.setScaledContents(False)
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(Form)
        self.label_2.setGeometry(QtCore.QRect(337, 84, 350, 92))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
        self.label_2.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(40)
        font.setBold(True)
        font.setWeight(75)
        self.label_2.setFont(font)
        self.label_2.setAutoFillBackground(False)
        self.label_2.setStyleSheet("QLabel {\n"
"        color: white;                /* 文字顏色 */\n"
"        font-size: 40pt;             /* 字體大小 */\n"
"        font-weight: bold;           /* 粗體 */\n"
"        font-family: \"Arial\";\n"
"    }\n"
"  ")
        self.label_2.setInputMethodHints(QtCore.Qt.ImhNone)
        self.label_2.setScaledContents(True)
        self.label_2.setTextInteractionFlags(QtCore.Qt.NoTextInteraction)
        self.label_2.setObjectName("label_2")
        self.label_3 = QtWidgets.QLabel(Form)
        self.label_3.setGeometry(QtCore.QRect(405, 206, 214, 72))
        self.label_3.setText("")
        self.label_3.setPixmap(QtGui.QPixmap("image/logo1.png"))
        self.label_3.setScaledContents(True)
        self.label_3.setObjectName("label_3")
        self.label_4 = QtWidgets.QLabel(Form)
        self.label_4.setGeometry(QtCore.QRect(333, 294, 421, 55))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(26)
        self.label_4.setFont(font)
        self.label_4.setStyleSheet("QLabel {\n"
"        color: white;                /* 文字顏色 */\n"
"        font-size: 26pt;             /* 字體大小 */\n"
"        font-family: \"Arial\";\n"
"    }\n"
"  ")
        self.label_4.setScaledContents(True)
        self.label_4.setObjectName("label_4")
        self.pushButton_start = QtWidgets.QPushButton(Form)
        self.pushButton_start.setGeometry(QtCore.QRect(387, 440, 250, 88))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(20)
        self.pushButton_start.setFont(font)
        self.pushButton_start.setStyleSheet("QPushButton {\n"
"        border-image: url(\"image/btn_250x88_def.png\") 0 0 0 0 stretch stretch;\n"
"        color: white;                /* 文字顏色 */\n"
"        font-size: 20pt;             /* 字體大小 */\n"
"    }\n"
"    QPushButton:pressed {\n"
"        border-image: url(\"image/btn_250x88_act.png\") 0 0 0 0 stretch stretch;\n"
"       color: #FFFF00;                /* 文字顏色 */\n"
"        font-size: 20pt;             /* 字體大小 */\n"
"    }")
        self.pushButton_start.setIconSize(QtCore.QSize(250, 88))
        self.pushButton_start.setFlat(True)
        self.pushButton_start.setObjectName("pushButton_start")
        
        # Language selection dropdown
        self.language_combo = QtWidgets.QComboBox(Form)
        self.language_combo.setGeometry(QtCore.QRect(800, 84, 200, 40))
        self.language_combo.setStyleSheet("QComboBox {\n"
"    background-color: rgba(255, 255, 255, 0.9);\n"
"    border: 2px solid #4A90E2;\n"
"    border-radius: 8px;\n"
"    padding: 5px;\n"
"    font-size: 16pt;\n"
"    font-family: \"Arial\";\n"
"    color: #333;\n"
"}\n"
"QComboBox::drop-down {\n"
"    border: none;\n"
"    width: 30px;\n"
"}\n"
"QComboBox::down-arrow {\n"
"    image: none;\n"
"    border-left: 5px solid transparent;\n"
"    border-right: 5px solid transparent;\n"
"    border-top: 5px solid #4A90E2;\n"
"    margin-right: 10px;\n"
"}\n"
"QComboBox QAbstractItemView {\n"
"    background-color: white;\n"
"    border: 2px solid #4A90E2;\n"
"    border-radius: 0px;\n"
"    padding: 0px;\n"
"    margin: 0px;\n"
"    selection-background-color: #4A90E2;\n"
"    selection-color: white;\n"
"    outline: none;\n"
"}\n"
"QComboBox QAbstractItemView::item {\n"
"    padding: 8px 12px;\n"
"    border: none;\n"
"    margin: 0px;\n"
"    font-size: 16pt;\n"
"}\n"
"QComboBox QAbstractItemView::item:selected {\n"
"    background-color: #4A90E2;\n"
"    color: white;\n"
"}")
        self.language_combo.setObjectName("language_combo")
        
        # Version label
        self.version_label = QtWidgets.QLabel(Form)
        self.version_label.setGeometry(QtCore.QRect(20, 560, 100, 30))
        self.version_label.setStyleSheet("QLabel {\n"
"    color: white;\n"
"    font-size: 12pt;\n"
"    font-family: \"Arial\";\n"
"}")
        self.version_label.setObjectName("version_label")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.label_2.setText(_translate("Form", "Welcome"))
        self.label_4.setText(_translate("Form", "Charging Station"))
        self.pushButton_start.setText(_translate("Form", "Start"))
        
        # Populate language dropdown with flags
        self.language_combo.clear()
        languages = [
            ("🇹🇼 繁體中文", "Traditional Chinese"),
            ("🇨🇳 简体中文", "Simplified Chinese"), 
            ("🇺🇸 English", "English"),
            ("🇯🇵 日本語", "Japanese"),
            ("🇹🇭 ภาษาไทย", "Thai"),
            ("🇻🇳 Tiếng Việt", "Vietnamese"),
            ("🇪🇸 Español", "Spanish")
        ]
        
        for display_name, internal_name in languages:
            self.language_combo.addItem(display_name, internal_name)
        
        # Set default to English
        self.language_combo.setCurrentText("🇺🇸 English")
        self.version_label.setText(_translate("Form", "v1.0.1"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())

Related articles