python之symbolCfg

# -*- coding: utf-8 -*-
import sys

from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import *
from util_symbol import *

'''
    主工具
'''
debug = 0


class SymbolCfgWidget(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()


    '''
        UI布局
    '''
    def initUI(self):
        self.symbol = None
        hb = QHBoxLayout()
        self.setLayout(hb)
        self.setStyleSheet('''QGroupBox{
                                        background:#DDFFFF;
                                        border:1px solid gray;
                                        width:300px;
                                        border-radius:10px;
                                        padding:4px;
                                        text-align:center;
                                        font:12px
                                        }
                                    QPushButton{
                                        background:#77FFFF;
                                        border-radius:10px;
                                        border-width: 2px;
                                        border:1px solid gray;
                                        border-style: outset;
                                        padding: 6px;
                                        font:14px
                                        }
                                    QPushButton:disabled { 
                                        background-color: lightgray; 
                                        }
                                    QProgressBar{
                                        background:#AAFFFF;
                                        border-radius:10px;
                                        border-width: 2px;
                                        border:0px solid gray;
                                        border-style: outset;
                                        color:#000000;
                                        padding: 6px;
                                        font:16px;
                                        text-align: center;
                                        }
                                    QProgressBar:chunk { 
                                        background-color: #33FFFF; 
                                        border-radius:10px;
                                        }
                                    QLCDNumber { 
                                        background-color: #77FFFF;
                                        border-radius:10px;
                                        color:#000000;
                                        font-weight: bold;
                                        }''')


        '''
            工程设置
        '''
        settingsGroup = QGroupBox('Settings')
        hb.addWidget(settingsGroup, 2)

        vb = QVBoxLayout()
        settingsGroup.setLayout(vb)

        symbolGroup = QGroupBox('Symbol Setting')
        vb.addWidget(symbolGroup)
        gd_prj_set = QGridLayout()
        symbolGroup.setLayout(gd_prj_set)

        gd_prj_set.addWidget(QLabel('IC Mark:'), 0, 0)
        let_ic_mark = QLineEdit('IC Mark')
        let_ic_mark.setMaxLength(20)
        ft = let_ic_mark.font()
        ft.setPointSize(ft.pointSize() + 2)
        let_ic_mark.setFont(ft)
        gd_prj_set.addWidget(let_ic_mark, 0, 1, 1, 3)

        gd_prj_set.addWidget(QLabel('Pin Num:'), 1, 0)
        sb_pin_num = QSpinBox()
        sb_pin_num.setRange(2, 10)
        sb_pin_num.setSingleStep(1)
        sb_pin_num.setValue(2)
        sb_pin_num.setAlignment(Qt.AlignRight)
        gd_prj_set.addWidget(sb_pin_num, 1, 1, 1, 3)

        btn_Gen = QPushButton("Generate")
        gd_prj_set.addWidget(btn_Gen, 2, 0, 4, 4)

        '''
            参数设置
        '''
        parGroup = QGroupBox('Parameter Setting')
        gd_par_set = QGridLayout()
        parGroup.setLayout(gd_par_set)
        vb.addWidget(parGroup)
        vb.addStretch()
    

        gd_par_set.addWidget(QLabel('Type'), 0, 1, Qt.AlignmentFlag.AlignCenter)
        gd_par_set.addWidget(QLabel('Min'), 0, 2, Qt.AlignmentFlag.AlignCenter)
        gd_par_set.addWidget(QLabel('Max'), 0, 3, Qt.AlignmentFlag.AlignCenter)
        gd_par_set.addWidget(QLabel('Vin(V):'), 1, 0)
        let_vin_type = QLineEdit()
        gd_par_set.addWidget(let_vin_type, 1, 1, 1, 1)
        let_vin_min = QLineEdit()
        gd_par_set.addWidget(let_vin_min, 1, 2, 1, 1)
        let_vin_max = QLineEdit()
        gd_par_set.addWidget(let_vin_max, 1, 3, 1, 1)
        gd_par_set.addWidget(QLabel('Ven(V):'), 2, 0)
        let_ven_type = QLineEdit()
        gd_par_set.addWidget(let_ven_type, 2, 1, 1, 1)
        let_ven_min = QLineEdit()
        gd_par_set.addWidget(let_ven_min, 2, 2, 1, 1)
        let_ven_max = QLineEdit()
        gd_par_set.addWidget(let_ven_max, 2, 3, 1, 1)
        gd_par_set.addWidget(QLabel('Iout(mA):'), 3, 0)
        let_iout_type = QLineEdit()
        gd_par_set.addWidget(let_iout_type, 3, 1, 1, 1)
        let_iout_min = QLineEdit()
        gd_par_set.addWidget(let_iout_min, 3, 2, 1, 1)
        let_iout_max = QLineEdit()
        gd_par_set.addWidget(let_iout_max, 3, 3, 1, 1)



        '''
            Symbol Preview
        '''
        symbolGroup = QGroupBox('Symbol Preview')
        hb.addWidget(symbolGroup, 5)
        vb = QVBoxLayout()
        symbolGroup.setLayout(vb)
        pn_array = ["IN", "EN", "GND", "OUT"]
        self.symbol = Symbol_DFN(2, let_ic_mark.text(), pn_array)
        vb.addWidget(self.symbol)


        '''
            更新频率
        '''
        def onBtnClicked():
            pn_array = ["IN", "BIAS", "EN", "SS", "GND", "PG", "FB", "OUT", "P9", "P10",
            "P11", "P12", "P13", "P14", "P15", "P16", "P17", "P18", "P19", "P20",
            "P21", "P22", "P23", "P24", "P25", "P26", "P27", "P28", "P29", "P30",
            "P31", "P32", "P33", "P34", "P35", "P36", "P37", "P38", "P39", "P40",
            "P41", "P42", "P43", "P44", "P45", "P46", "P47", "P48", "P49", "P50",
            "P51", "P52", "P53", "P54", "P55", "P56", "P57", "P58", "P59", "P60"]
            vb.removeWidget(self.symbol)
            self.symbol = Symbol_DFN(sb_pin_num.value(), let_ic_mark.text(), pn_array)
            vb.addWidget(self.symbol)

        btn_Gen.clicked.connect(onBtnClicked)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = SymbolCfgWidget()
    win.setWindowTitle("Symbol Config")
    win.setWindowIcon(QIcon('res\\logo.png'))
    win.resize(1280, 800)
    win.show()
    sys.exit(app.exec_())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值