def _create_vertical_line(): vertical_line = QFrame() vertical_line.setFixedWidth(20) vertical_line.setFrameShape(QFrame.VLine) vertical_line.setFrameShadow(QFrame.Sunken) vertical_line.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred) vertical_line.setMinimumHeight(300) return vertical_line
def initUI(self): self.layout = QVBoxLayout() self.objectsLayout = QHBoxLayout() self.addNodes = QPushButton("Add Nodes") self.removeNodes = QPushButton("Clear Nodes") self.objectsLayout.addWidget(self.addNodes) self.objectsLayout.addWidget(self.removeNodes) self.layout.addLayout(self.objectsLayout) self.lw_selectedNodes = QListWidget() self.layout.addWidget(self.lw_selectedNodes) self.lw_selectedNodes.setSelectionMode(QAbstractItemView.NoSelection) self.recreationbtn = QPushButton("Recreation") self.layout.addWidget(self.recreationbtn) line = QFrame() line.setMinimumHeight(4) line.setStyleSheet("background: #333333") self.layout.addWidget(line) self.objectsLayout = QHBoxLayout() self.addbtn = QPushButton("Add Skin") self.removebtn = QPushButton("Remove Skin") self.objectsLayout.addWidget(self.addbtn) self.objectsLayout.addWidget(self.removebtn) self.layout.addLayout(self.objectsLayout) self.lw_skiin = QListWidget() self.layout.addWidget(self.lw_skiin) self.lw_skiin.setMaximumHeight(200) line = QFrame() line.setMinimumHeight(4) line.setStyleSheet("background: #333333") self.layout.addWidget(line) self.skinTransfer = QPushButton("Skin Transfer") self.layout.addWidget(self.skinTransfer) self.skinTransfer.setMinimumHeight(32) label = QLabel() label.setText( "<a href=\"https://www.artstation.com/shirzadbh/store\">Python Script By: Shirzad Bahrami</a>" ) label.setOpenExternalLinks(True) self.layout.addWidget(label) self.setLayout(self.layout) self.layout.setMargin(4)
def __init__(self): super(MainWindow, self).__init__() # include components self.titleBar = CustomBar(self) self.sidBar = SideBar() self.container = pagesWidget() # line Decoration line1 = QFrame() line1.setStyleSheet("background-color: #FFB300;") line1.setObjectName("Vline") line1.setMinimumHeight(2) # Main window layout mainLayout = QVBoxLayout() mainLayout.setContentsMargins(0, 0, 0, 0) mainLayout.setSpacing(0) # custom bar layout TitleBarLayout = QVBoxLayout() TitleBarLayout.setContentsMargins(0, 0, 0, 0) TitleBarLayout.addWidget(self.titleBar) TitleBarLayout.addWidget(line1) mainLayout.addLayout(TitleBarLayout) BodyContentLayout = QHBoxLayout() BodyContentLayout.addWidget(self.sidBar) BodyContentLayout.addWidget(self.container) BodyContentLayout.setContentsMargins(0, 0, 0, 0) mainLayout.addLayout(BodyContentLayout) # Set Minimum size of window self.setMinimumSize(700, 500) # Get Frame less window self.setWindowFlags(Qt.FramelessWindowHint | Qt.CustomizeWindowHint) # Create Widget to add Layout widget = QWidget() widget.setLayout(mainLayout) self.setCentralWidget(widget) # Database Status label_db = QLabel() self.container.db_status.setText("No Database Connection!") self.container.horizontalLayout_db_btn.addWidget(label_db) # Buttons Clicked Signal self.titleBar.btn_close.clicked.connect(self.close) self.titleBar.btn_max.clicked.connect(self.windowResize) self.titleBar.btn_min.clicked.connect(self.showMinimized) self.sidBar.DataBase.clicked.connect(self.setCustomersPage) self.sidBar.About.clicked.connect(self.setAboutPage)
class FrmPanelMoveWidget(QWidget): def __init__(self, parent: QWidget = None): super(FrmPanelMoveWidget, self).__init__(parent) self.btns: List[LightButton] = [] layout = QGridLayout() self.btnClear = QPushButton('清除') self.btnClear.setMinimumWidth(120) self.btnShow = QPushButton('显示子元素坐标') self.btnShow.setMinimumWidth(120) self.checkBox = QCheckBox('可移动') self.frame = QFrame() self.frame.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) self.frame.setMinimumHeight(100) self.frame.setFrameShape(QFrame.StyledPanel) self.frame.setFrameShadow(QFrame.Sunken) self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.textEdit = QTextEdit() self.textEdit.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) self.textEdit.setReadOnly(True) layout.addWidget(self.frame, 0, 0) layout.addWidget(self.textEdit, 1, 0) layout2 = QHBoxLayout() layout2.addItem(self.horizontalSpacer) layout2.addWidget(self.checkBox) layout2.addWidget(self.btnShow) layout2.addWidget(self.btnClear) layout.addLayout(layout2, 2, 0) self.setLayout(layout) self.initForm() self.checkBox.stateChanged.connect(self.on_checkBox_stateChanged) self.btnShow.clicked.connect(self.on_btnShow_clicked) self.btnClear.clicked.connect(self.on_btnClear_clicked) def initForm(self) -> None: colors: List[QColor] = [ QColor(100, 184, 255), QColor(255, 107, 107), QColor(24, 189, 155), QColor(1, 174, 103), QColor(52, 73, 94) ] x: int = 5 y: int = 5 radius: int = 50 for i in range(5): btn: LightButton = LightButton(self.frame) btn.setGeometry(x, y, radius, radius) x = x + radius btn.text = "0%d" % (i + 1) btn.canMove = False btn.showOverlay = False btn.bgColor = colors[i] self.btns.append(btn) def on_checkBox_stateChanged(self, arg1: int) -> None: canMove: bool = arg1 != 0 for btn in self.btns: btn.canMove = canMove def on_btnShow_clicked(self) -> None: for btn in self.btns: text: str = btn.text x: int = btn.x() y: int = btn.y() self.textEdit.append("名称:%s\tx:%d\ty:%d" % (text, x, y)) def on_btnClear_clicked(self) -> None: self.textEdit.clear()