def setupUI(self):
#==============================
# main_layout for QMainWindow
main_widget = QtGui.QWidget()
self.setCentralWidget(main_widget)
main_layout = self.quickLayout('vbox', 'main_layout') # grid for auto fill window size
main_widget.setLayout(main_layout)
'''
# main_layout for QDialog
main_layout = self.quickLayout('vbox', 'main_layout')
self.setLayout(main_layout)
'''
#------------------------------
# ui element creation part
# quickUI version from universal tool template v6
'''
upper_layout = self.quickUI(["source_txtEdit;LNTextEdit","process_btn;QPushButton;Process and Update"],"upper_QVBoxLayout")
upper_layout.setContentsMargins(0,0,0,0)
input_split = self.quickSplitUI("input_split", [ upper_layout, self.quickUI(["result_txtEdit;LNTextEdit"])[0] ], "v")
fileBtn_layout = self.quickUI(["filePath_input;QLineEdit", "fileLoad_btn;QPushButton;Load", "fileExport_btn;QPushButton;Export"],"fileBtn_QHBoxLayout")
self.quickUI([input_split, fileBtn_layout], main_layout)
self.uiList["source_txtEdit"].setWrap(0)
self.uiList["result_txtEdit"].setWrap(0)
'''
#------------------------------
# qui version from template 7
# no extra variable name, all text based creation and reference
self.qui('source_txtEdit | process_btn;Process and Update', 'upper_vbox')
self.qui('upper_vbox | result_txtEdit', 'input_split;v')
self.qui('filePath_input | fileLoad_btn;Load | fileExport_btn;Export', 'fileBtn_layout;hbox')
self.qui('input_split | fileBtn_layout', 'main_layout')
self.uiList["source_txtEdit"].setWrap(0)
self.uiList["result_txtEdit"].setWrap(0)
'''
self.uiList['secret_btn'] = QtGui.QPushButton(self) # invisible but functional button
self.uiList['secret_btn'].setText("")
self.uiList['secret_btn'].setGeometry(0, 0, 50, 20)
self.uiList['secret_btn'].setStyleSheet("QPushButton{background-color: rgba(0, 0, 0,0);} QPushButton:pressed{background-color: rgba(0, 0, 0,0); border: 0px;} QPushButton:hover{background-color: rgba(0, 0, 0,0); border: 0px;}")
#:hover:pressed:focus:hover:disabled
'''
#------------- end ui creation --------------------
for name,each in self.uiList.items():
if isinstance(each, QtGui.QLayout) and name!='main_layout' and not name.endswith('_grp_layout'):
each.setContentsMargins(0,0,0,0)
self.quickInfo('Ready')
universal_tool_template_v7.3.py 文件源码
python
阅读 20
收藏 0
点赞 0
评论 0
评论列表
文章目录