def __init__(self, parent=None, mode=0):
super_class.__init__(self, parent)
#------------------------------
# class variables
#------------------------------
self.version = "0.1"
self.date = '2017.01.01'
self.log = 'no version log in user class'
self.help = 'no help guide in user class'
self.uiList={} # for ui obj storage
self.memoData = {} # key based variable data storage
self.memoData['font_size_default'] = QtGui.QFont().pointSize()
self.memoData['font_size'] = self.memoData['font_size_default']
self.memoData['last_export'] = ''
self.memoData['last_import'] = ''
self.location = ""
if getattr(sys, 'frozen', False):
# frozen - cx_freeze
self.location = sys.executable
else:
# unfrozen
self.location = os.path.realpath(sys.modules[self.__class__.__module__].__file__)
self.name = self.__class__.__name__
self.iconPath = os.path.join(os.path.dirname(self.location),'icons',self.name+'.png')
self.iconPix = QtGui.QPixmap(self.iconPath)
self.icon = QtGui.QIcon(self.iconPath)
self.fileType='.{0}_EXT'.format(self.name)
#------------------------------
# core function variable
#------------------------------
self.qui_core_dict = {
'vbox': 'QVBoxLayout','hbox':'QHBoxLayout','grid':'QGridLayout', 'form':'QFormLayout',
'split': 'QSplitter', 'grp':'QGroupBox', 'tab':'QTabWidget',
'btn':'QPushButton', 'btnMsg':'QPushButton', 'label':'QLabel', 'input':'QLineEdit', 'check':'QCheckBox', 'choice':'QComboBox',
'txt': 'QTextEdit',
'list': 'QListWidget', 'tree': 'QTreeWidget', 'table': 'QTableWidget',
'space': 'QSpacerItem',
'menu' : 'QMenu', 'menubar' : 'QMenuBar',
}
self.qui_user_dict = {}
#------------------------------
python类QSplitter()的实例源码
GearBox_template_1010.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 17
收藏 0
点赞 0
评论 0
universal_tool_template_0904.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 21
收藏 0
点赞 0
评论 0
def __init__(self, parent=None, mode=0):
super_class.__init__(self, parent)
#------------------------------
# class variables
#------------------------------
self.version="0.1"
self.help = "How to Use:\n1. Put source info in\n2. Click Process button\n3. Check result output\n4. Save memory info into a file."
self.uiList={} # for ui obj storage
self.memoData = {} # key based variable data storage
self.location = ""
if getattr(sys, 'frozen', False):
# frozen - cx_freeze
self.location = sys.executable
else:
# unfrozen
self.location = os.path.realpath(sys.modules[self.__class__.__module__].__file__)
self.name = self.__class__.__name__
self.iconPath = os.path.join(os.path.dirname(self.location),'icons',self.name+'.png')
self.iconPix = QtGui.QPixmap(self.iconPath)
self.icon = QtGui.QIcon(self.iconPath)
self.fileType='.{0}_EXT'.format(self.name)
#------------------------------
# core function variable
#------------------------------
self.qui_core_dict = {
'vbox': 'QVBoxLayout','hbox':'QHBoxLayout','grid':'QGridLayout', 'form':'QFormLayout',
'split': 'QSplitter', 'grp':'QGroupBox', 'tab':'QTabWidget',
'btn':'QPushButton', 'btnMsg':'QPushButton', 'label':'QLabel', 'input':'QLineEdit', 'check':'QCheckBox', 'choice':'QComboBox',
'txt': 'QTextEdit',
'list': 'QListWidget', 'tree': 'QTreeWidget', 'table': 'QTableWidget',
'space': 'QSpacerItem',
}
self.qui_user_dict = {}
#------------------------------
universal_tool_template_1000.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 20
收藏 0
点赞 0
评论 0
def __init__(self, parent=None, mode=0):
super_class.__init__(self, parent)
#------------------------------
# class variables
#------------------------------
self.version = "0.1"
self.date = '2017.01.01'
self.log = 'no version log in user class'
self.help = 'no help guide in user class'
self.uiList={} # for ui obj storage
self.memoData = {} # key based variable data storage
self.memoData['font_size_default'] = QtGui.QFont().pointSize()
self.memoData['font_size'] = self.memoData['font_size_default']
self.location = ""
if getattr(sys, 'frozen', False):
# frozen - cx_freeze
self.location = sys.executable
else:
# unfrozen
self.location = os.path.realpath(sys.modules[self.__class__.__module__].__file__)
self.name = self.__class__.__name__
self.iconPath = os.path.join(os.path.dirname(self.location),'icons',self.name+'.png')
self.iconPix = QtGui.QPixmap(self.iconPath)
self.icon = QtGui.QIcon(self.iconPath)
self.fileType='.{0}_EXT'.format(self.name)
#------------------------------
# core function variable
#------------------------------
self.qui_core_dict = {
'vbox': 'QVBoxLayout','hbox':'QHBoxLayout','grid':'QGridLayout', 'form':'QFormLayout',
'split': 'QSplitter', 'grp':'QGroupBox', 'tab':'QTabWidget',
'btn':'QPushButton', 'btnMsg':'QPushButton', 'label':'QLabel', 'input':'QLineEdit', 'check':'QCheckBox', 'choice':'QComboBox',
'txt': 'QTextEdit',
'list': 'QListWidget', 'tree': 'QTreeWidget', 'table': 'QTableWidget',
'space': 'QSpacerItem',
'menu' : 'QMenu', 'menubar' : 'QMenuBar',
}
self.qui_user_dict = {}
#------------------------------
universal_tool_template_0803.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 21
收藏 0
点赞 0
评论 0
def qui(self, ui_list_string, parentObject_string='', opt=''):
# pre-defined user short name syntax
type_dict = {
'vbox': 'QVBoxLayout','hbox':'QHBoxLayout','grid':'QGridLayout', 'form':'QFormLayout',
'split': 'QSplitter', 'grp':'QGroupBox', 'tab':'QTabWidget',
'btn':'QPushButton', 'btnMsg':'QPushButton', 'label':'QLabel', 'input':'QLineEdit', 'check':'QCheckBox', 'choice':'QComboBox',
'txt': 'QTextEdit',
'list': 'QListWidget', 'tree': 'QTreeWidget', 'table': 'QTableWidget',
'space': 'QSpacerItem',
}
# get ui_list, creation or existing ui object
ui_list = [x.strip() for x in ui_list_string.split('|')]
for i in range(len(ui_list)):
if ui_list[i] in self.uiList:
# - exisiting object
ui_list[i] = self.uiList[ui_list[i]]
else:
# - string creation:
# get part info
partInfo = ui_list[i].split(';',1)
uiName = partInfo[0].split('@')[0]
uiType = uiName.rsplit('_',1)[-1]
if uiType in type_dict:
uiType = type_dict[uiType]
# set quickUI string format
ui_list[i] = partInfo[0]+';'+uiType
if len(partInfo)==1:
# give empty button and label a place holder name
if uiType in ('btn', 'btnMsg', 'QPushButton','label', 'QLabel'):
ui_list[i] = partInfo[0]+';'+uiType + ';'+uiName
elif len(partInfo)==2:
ui_list[i]=ui_list[i]+";"+partInfo[1]
# get parentObject or exisiting object
parentObject = parentObject_string
if parentObject in self.uiList:
parentObject = self.uiList[parentObject]
# process quickUI
self.quickUI(ui_list, parentObject, opt)
universal_tool_template_0903.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 29
收藏 0
点赞 0
评论 0
def qui(self, ui_list_string, parentObject_string='', opt=''):
# pre-defined user short name syntax
type_dict = {
'vbox': 'QVBoxLayout','hbox':'QHBoxLayout','grid':'QGridLayout', 'form':'QFormLayout',
'split': 'QSplitter', 'grp':'QGroupBox', 'tab':'QTabWidget',
'btn':'QPushButton', 'btnMsg':'QPushButton', 'label':'QLabel', 'input':'QLineEdit', 'check':'QCheckBox', 'choice':'QComboBox',
'txt': 'QTextEdit',
'list': 'QListWidget', 'tree': 'QTreeWidget', 'table': 'QTableWidget',
'space': 'QSpacerItem',
}
# get ui_list, creation or existing ui object
ui_list = [x.strip() for x in ui_list_string.split('|')]
for i in range(len(ui_list)):
if ui_list[i] in self.uiList:
# - exisiting object
ui_list[i] = self.uiList[ui_list[i]]
else:
# - string creation:
# get part info
partInfo = ui_list[i].split(';',1)
uiName = partInfo[0].split('@')[0]
uiType = uiName.rsplit('_',1)[-1]
if uiType in type_dict:
uiType = type_dict[uiType]
# set quickUI string format
ui_list[i] = partInfo[0]+';'+uiType
if len(partInfo)==1:
# give empty button and label a place holder name
if uiType in ('btn', 'btnMsg', 'QPushButton','label', 'QLabel'):
ui_list[i] = partInfo[0]+';'+uiType + ';'+uiName
elif len(partInfo)==2:
ui_list[i]=ui_list[i]+";"+partInfo[1]
# get parentObject or exisiting object
parentObject = parentObject_string
if parentObject in self.uiList:
parentObject = self.uiList[parentObject]
# process quickUI
self.quickUI(ui_list, parentObject, opt)
universal_tool_template_1010.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 24
收藏 0
点赞 0
评论 0
def __init__(self, parent=None, mode=0):
super_class.__init__(self, parent)
#------------------------------
# class variables
#------------------------------
self.version = "0.1"
self.date = '2017.01.01'
self.log = 'no version log in user class'
self.help = 'no help guide in user class'
self.uiList={} # for ui obj storage
self.memoData = {} # key based variable data storage
self.memoData['font_size_default'] = QtGui.QFont().pointSize()
self.memoData['font_size'] = self.memoData['font_size_default']
self.memoData['last_export'] = ''
self.memoData['last_import'] = ''
self.location = ""
if getattr(sys, 'frozen', False):
# frozen - cx_freeze
self.location = sys.executable
else:
# unfrozen
self.location = os.path.realpath(sys.modules[self.__class__.__module__].__file__)
self.name = self.__class__.__name__
self.iconPath = os.path.join(os.path.dirname(self.location),'icons',self.name+'.png')
self.iconPix = QtGui.QPixmap(self.iconPath)
self.icon = QtGui.QIcon(self.iconPath)
self.fileType='.{0}_EXT'.format(self.name)
#------------------------------
# core function variable
#------------------------------
self.qui_core_dict = {
'vbox': 'QVBoxLayout','hbox':'QHBoxLayout','grid':'QGridLayout', 'form':'QFormLayout',
'split': 'QSplitter', 'grp':'QGroupBox', 'tab':'QTabWidget',
'btn':'QPushButton', 'btnMsg':'QPushButton', 'label':'QLabel', 'input':'QLineEdit', 'check':'QCheckBox', 'choice':'QComboBox',
'txt': 'QTextEdit',
'list': 'QListWidget', 'tree': 'QTreeWidget', 'table': 'QTableWidget',
'space': 'QSpacerItem',
'menu' : 'QMenu', 'menubar' : 'QMenuBar',
}
self.qui_user_dict = {}
#------------------------------
def _init_gui(self):
# Create a target text box
self.tgt_box = QtWidgets.QTextEdit(self)
self.tgt_box.setReadOnly(True)
self.tgt_box.setAcceptRichText(True)
# Create a source text box
self.src_box = QtWidgets.QTextEdit(self)
self.src_box.setAcceptRichText(True)
# Create bottom items
self.src_lang_box = QtWidgets.QLineEdit(self)
self.tgt_lang_box = QtWidgets.QLineEdit(self)
self.src_lang_box.setFixedWidth(50)
self.tgt_lang_box.setFixedWidth(50)
# show candidate list when clicked
self.src_lang_box.focusInEvent = lambda _: self._show_candidates(1)
self.tgt_lang_box.focusInEvent = lambda _: self._show_candidates(2)
self.swap_btn = QtWidgets.QPushButton("<-->", self)
self.swap_btn.setFixedWidth(50)
self.swap_btn.clicked.connect(self._swap_langs)
self.trans_btn = QtWidgets.QPushButton("Translate", self)
self.trans_btn.clicked.connect(lambda: self.translate())
# Create a splitter for text box
self.splitter = QtWidgets.QSplitter(QtCore.Qt.Vertical)
self.splitter.addWidget(self.tgt_box)
self.splitter.addWidget(self.src_box)
self.splitter.setCollapsible(0, False)
self.splitter.setCollapsible(1, False)
# Create horizontal bottom layout
self.bottom_layout = QtWidgets.QHBoxLayout()
self.bottom_layout.addWidget(self.src_lang_box)
self.bottom_layout.addWidget(self.swap_btn)
self.bottom_layout.addWidget(self.tgt_lang_box)
self.bottom_layout.addWidget(self.trans_btn)
# Warp with a widget
self.bottom_widget = QtWidgets.QWidget()
self.bottom_widget.setLayout(self.bottom_layout)
self.bottom_widget.setContentsMargins(-5, -5, -5, -5)
# Create vertical central layout
self.central_layout = QtWidgets.QVBoxLayout()
self.central_layout.addWidget(self.splitter)
self.central_layout.addWidget(self.bottom_widget)
# Warp with a widget
self.central_widget = QtWidgets.QWidget()
self.central_widget.setLayout(self.central_layout)
self.central_widget.setContentsMargins(-5, -5, -5, -5)
# Set layout
self.setCentralWidget(self.central_widget)
def _init_gui(self):
self.is_double = True
# Create a target text box
self.tgt_box = QtWidgets.QTextEdit(self)
self.tgt_box.setReadOnly(True)
self.tgt_box.setAcceptRichText(True)
# Create a middle text box
self.middle_box = QtWidgets.QTextEdit(self)
self.middle_box.setAcceptRichText(True)
# Create a source text box
self.src_box = QtWidgets.QTextEdit(self)
self.src_box.setAcceptRichText(True)
# Create bottom items
self.src_lang_box = QtWidgets.QLineEdit(self)
self.tgt_lang_box = QtWidgets.QLineEdit(self)
self.middle_lang_box = QtWidgets.QLineEdit(self)
self.src_lang_box.setFixedWidth(50)
self.tgt_lang_box.setFixedWidth(50)
self.middle_lang_box.setFixedWidth(50)
# show candidate list when clicked
self.src_lang_box.focusInEvent = lambda _: self._show_candidates(1)
self.tgt_lang_box.focusInEvent = lambda _: self._show_candidates(2)
self.middle_lang_box.focusInEvent = lambda _: self._show_candidates(3)
self.trans_btn = QtWidgets.QPushButton("Translate", self)
self.trans_btn.clicked.connect(lambda: self.translate())
self.toggle_double_btn = QtWidgets.QPushButton("toggle", self)
self.toggle_double_btn.clicked.connect(lambda: self.toggle_double())
# Create a splitter for text box
self.splitter = QtWidgets.QSplitter(QtCore.Qt.Vertical)
self.splitter.addWidget(self.tgt_box)
self.splitter.addWidget(self.middle_box)
self.splitter.addWidget(self.src_box)
self.splitter.setCollapsible(0, False)
self.splitter.setCollapsible(1, False)
self.splitter.setCollapsible(2, False)
# Create horizontal bottom layout
self.bottom_layout = QtWidgets.QHBoxLayout()
self.bottom_layout.addWidget(self.src_lang_box)
self.bottom_layout.addWidget(self.middle_lang_box)
self.bottom_layout.addWidget(self.tgt_lang_box)
self.bottom_layout.addWidget(self.trans_btn)
self.bottom_layout.addWidget(self.toggle_double_btn)
# Warp with a widget
self.bottom_widget = QtWidgets.QWidget()
self.bottom_widget.setLayout(self.bottom_layout)
self.bottom_widget.setContentsMargins(-5, -5, -5, -5)
# Create vertical central layout
self.central_layout = QtWidgets.QVBoxLayout()
self.central_layout.addWidget(self.splitter)
self.central_layout.addWidget(self.bottom_widget)
# Warp with a widget
self.central_widget = QtWidgets.QWidget()
self.central_widget.setLayout(self.central_layout)
self.central_widget.setContentsMargins(-5, -5, -5, -5)
# Set layout
self.setCentralWidget(self.central_widget)
def setupUi(self, DialogLabels):
DialogLabels.setObjectName("DialogLabels")
DialogLabels.resize(714, 463)
self.verticalLayout_3 = QtWidgets.QVBoxLayout(DialogLabels)
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.splitter = QtWidgets.QSplitter(DialogLabels)
self.splitter.setStyleSheet("QSplitter::handle:vertical {\n"
"margin: 4px 0px;\n"
" background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0, \n"
"stop:0 rgba(255, 255, 255, 0), \n"
"stop:0.5 rgba(100, 100, 100, 100), \n"
"stop:1 rgba(255, 255, 255, 0));\n"
" image: url(:/icons/icons/splitter_handle_horizontal.svg);\n"
"}")
self.splitter.setOrientation(QtCore.Qt.Vertical)
self.splitter.setHandleWidth(6)
self.splitter.setChildrenCollapsible(False)
self.splitter.setObjectName("splitter")
self.groupBoxSettings = QtWidgets.QGroupBox(self.splitter)
self.groupBoxSettings.setObjectName("groupBoxSettings")
self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBoxSettings)
self.verticalLayout.setObjectName("verticalLayout")
self.tblViewProtoLabels = ProtocolLabelTableView(self.groupBoxSettings)
self.tblViewProtoLabels.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
self.tblViewProtoLabels.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectItems)
self.tblViewProtoLabels.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel)
self.tblViewProtoLabels.setHorizontalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel)
self.tblViewProtoLabels.setObjectName("tblViewProtoLabels")
self.verticalLayout.addWidget(self.tblViewProtoLabels)
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.label = QtWidgets.QLabel(self.groupBoxSettings)
font = QtGui.QFont()
font.setUnderline(False)
self.label.setFont(font)
self.label.setObjectName("label")
self.horizontalLayout_2.addWidget(self.label)
self.cbProtoView = QtWidgets.QComboBox(self.groupBoxSettings)
self.cbProtoView.setObjectName("cbProtoView")
self.cbProtoView.addItem("")
self.cbProtoView.addItem("")
self.cbProtoView.addItem("")
self.horizontalLayout_2.addWidget(self.cbProtoView)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_2.addItem(spacerItem)
self.verticalLayout.addLayout(self.horizontalLayout_2)
self.groupBoxAdvancedSettings = QtWidgets.QGroupBox(self.splitter)
self.groupBoxAdvancedSettings.setObjectName("groupBoxAdvancedSettings")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBoxAdvancedSettings)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.tabWidgetAdvancedSettings = QtWidgets.QTabWidget(self.groupBoxAdvancedSettings)
self.tabWidgetAdvancedSettings.setObjectName("tabWidgetAdvancedSettings")
self.verticalLayout_2.addWidget(self.tabWidgetAdvancedSettings)
self.verticalLayout_3.addWidget(self.splitter)
self.btnConfirm = QtWidgets.QPushButton(DialogLabels)
self.btnConfirm.setObjectName("btnConfirm")
self.verticalLayout_3.addWidget(self.btnConfirm)
self.retranslateUi(DialogLabels)
QtCore.QMetaObject.connectSlotsByName(DialogLabels)
def __init__(self,
transpyler,
parent=None, *,
theme='dark',
header_text=None,
hide_console_margins=False):
assert transpyler
super().__init__(parent=parent, theme=theme)
self._transpyler = transpyler
self._header_text = header_text
self._hide_console_margins = hide_console_margins
self._console = self._createConsoleApp()
self._editor = self._createEditorApp()
self._editor.setConsole(self._console)
# Create buttons
run_button = QtWidgets.QPushButton('Run')
hideup_button = QtWidgets.QPushButton('\u25b2')
hidedown_button = QtWidgets.QPushButton('\u25bc')
run_button.setMaximumWidth(100)
hideup_button.setFixedWidth(35)
hidedown_button.setFixedWidth(35)
buttons = QtWidgets.QWidget()
button_area = QtWidgets.QHBoxLayout(buttons)
button_area.addWidget(hideup_button, 20)
button_area.addWidget(hidedown_button, 20)
button_area.addStretch(300)
button_area.addWidget(run_button, 200)
button_area.setContentsMargins(0, 0, 0, 0)
buttons.setFixedHeight(25)
# Connect signals
run_button.clicked.connect(self.runCode)
hideup_button.clicked.connect(self.hideUp)
hidedown_button.clicked.connect(self.hideDown)
# Create top area with the Editor and the button area element
top_widget = QtWidgets.QWidget()
top_layout = QtWidgets.QVBoxLayout(top_widget)
top_layout.setContentsMargins(0, 0, 0, 0)
top_layout.addWidget(self._editor.widget())
top_layout.addWidget(buttons)
self._top_widget = top_widget
# Add elements
layout = QtWidgets.QVBoxLayout(self)
layout.setContentsMargins(0, 0, 0, 0)
splitter = QtWidgets.QSplitter(QtCore.Qt.Orientation(0))
splitter.addWidget(top_widget)
splitter.addWidget(self._console.widget())
splitter.setSizes([200, 120])
splitter.setChildrenCollapsible(False)
layout.addWidget(splitter)
self._splitter = splitter
self._splitter_sizes = splitter.sizes()
# Size hints
self.setMinimumSize(QtCore.QSize(100, 200))
# Set theme
self.setTheme(self.theme())