def dialog():
w=QtGui.QWidget()
box = QtGui.QVBoxLayout()
w.setLayout(box)
w.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
l=QtGui.QLabel("Anzahl" )
w.l=l
box.addWidget(l)
w.mina = QtGui.QLabel("Anzahl" )
w.mina.setText('3')
box.addWidget(w.mina)
w.anz = QtGui.QLabel("Anzahl" )
w.anz.setText('13')
box.addWidget(w.anz)
w.maxa = QtGui.QLabel("Anzahl" )
w.maxa.setText('3')
box.addWidget(w.maxa)
# w.random=QtGui.QCheckBox("Zufall")
# box.addWidget(w.random)
# w.r=QtGui.QPushButton("run")
# box.addWidget(w.r)
# w.r.pressed.connect(lambda :run(w))
w.show()
return w
python类QCheckBox()的实例源码
def create_item(self, widget_config, grid, row_index):
widget_config.widget_title = QtGui.QLabel(self.form)
widget_config.widget_title.setText("%s : " % widget_config.show_name)
if widget_config.type == float and not hasattr(widget_config, 'step'):
widget_config.widget = QtGui.QLabel(self.form)
widget_config.widget.setText("%f" % self.get_property_value(widget_config.name))
elif widget_config.type == float:
widget_config.widget = QtGui.QDoubleSpinBox(self.form)
widget_config.widget.setDecimals(widget_config.decimals)
widget_config.widget.setSingleStep(widget_config.step)
widget_config.widget.setMinimum(widget_config.interval_value[0])
widget_config.widget.setValue(self.get_property_value(widget_config.name))
widget_config.widget.setMaximum(widget_config.interval_value[-1])
elif widget_config.type == bool:
widget_config.widget = QtGui.QCheckBox("", self.form)
state = QtCore.Qt.Checked if self.get_property_value(widget_config.name) == True else QtCore.Qt.Unchecked
widget_config.widget.setCheckState(state)
elif widget_config.type == list:
widget_config.widget = QtGui.QComboBox(self.form)
widget_config.widget.addItems(widget_config.interval_value)
default_value_index = 0
for str_value in widget_config.interval_value:
if self.get_property_value(widget_config.name) == str_value:
break
default_value_index += 1
if default_value_index == len(widget_config.interval_value):
raise ValueError("Default value not found for list" + widget_config.name)
widget_config.widget.setCurrentIndex(default_value_index)
widget_config.widget.currentIndexChanged.connect(self.listchangeIndex)
elif widget_config.type == str:
widget_config.widget = QtGui.QLineEdit(self.form)
widget_config.widget.setText(self.get_property_value(widget_config.name))
else:
raise ValueError("Undefined widget type")
grid.addWidget(widget_config.widget_title, row_index, 0)
grid.addWidget(widget_config.widget, row_index, 1)
def showNotes(self,*args):
while self.checksVLayout.count():
child = self.checksVLayout.takeAt(0)
if child.widget() is not None:
child.widget().deleteLater()
elif child.layout() is not None:
clearLayout(child.layout())
#self.notesTextEdit.setPlainText("")
if self.selShot in self.shotgunNotes.keys():
for note in self.shotgunNotes[self.selShot]:
nId,noteContent=note.split('###')
#self.notesTextEdit.insertPlainText(note+"\n")
self.notesCheck = QtGui.QCheckBox(noteContent,self.notesTab)
self.notesCheck.setObjectName(nId)
self.checksVLayout.addWidget(self.notesCheck)
def __init__(self, model, attr):
self.widget = QtGui.QCheckBox()
self.model = model
self.attr = attr
self.widget.setChecked(getattr(self.model, self.attr))
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(186, 154)
Form.setMaximumSize(QtCore.QSize(200, 16777215))
self.gridLayout = QtGui.QGridLayout(Form)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setSpacing(0)
self.gridLayout.setObjectName("gridLayout")
self.label = QtGui.QLabel(Form)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 7, 0, 1, 2)
self.linkCombo = QtGui.QComboBox(Form)
self.linkCombo.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents)
self.linkCombo.setObjectName("linkCombo")
self.gridLayout.addWidget(self.linkCombo, 7, 2, 1, 2)
self.autoPercentSpin = QtGui.QSpinBox(Form)
self.autoPercentSpin.setEnabled(True)
self.autoPercentSpin.setMinimum(1)
self.autoPercentSpin.setMaximum(100)
self.autoPercentSpin.setSingleStep(1)
self.autoPercentSpin.setProperty("value", 100)
self.autoPercentSpin.setObjectName("autoPercentSpin")
self.gridLayout.addWidget(self.autoPercentSpin, 2, 2, 1, 2)
self.autoRadio = QtGui.QRadioButton(Form)
self.autoRadio.setChecked(True)
self.autoRadio.setObjectName("autoRadio")
self.gridLayout.addWidget(self.autoRadio, 2, 0, 1, 2)
self.manualRadio = QtGui.QRadioButton(Form)
self.manualRadio.setObjectName("manualRadio")
self.gridLayout.addWidget(self.manualRadio, 1, 0, 1, 2)
self.minText = QtGui.QLineEdit(Form)
self.minText.setObjectName("minText")
self.gridLayout.addWidget(self.minText, 1, 2, 1, 1)
self.maxText = QtGui.QLineEdit(Form)
self.maxText.setObjectName("maxText")
self.gridLayout.addWidget(self.maxText, 1, 3, 1, 1)
self.invertCheck = QtGui.QCheckBox(Form)
self.invertCheck.setObjectName("invertCheck")
self.gridLayout.addWidget(self.invertCheck, 5, 0, 1, 4)
self.mouseCheck = QtGui.QCheckBox(Form)
self.mouseCheck.setChecked(True)
self.mouseCheck.setObjectName("mouseCheck")
self.gridLayout.addWidget(self.mouseCheck, 6, 0, 1, 4)
self.visibleOnlyCheck = QtGui.QCheckBox(Form)
self.visibleOnlyCheck.setObjectName("visibleOnlyCheck")
self.gridLayout.addWidget(self.visibleOnlyCheck, 3, 2, 1, 2)
self.autoPanCheck = QtGui.QCheckBox(Form)
self.autoPanCheck.setObjectName("autoPanCheck")
self.gridLayout.addWidget(self.autoPanCheck, 4, 2, 1, 2)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(186, 154)
Form.setMaximumSize(QtCore.QSize(200, 16777215))
self.gridLayout = QtGui.QGridLayout(Form)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setSpacing(0)
self.gridLayout.setObjectName("gridLayout")
self.label = QtGui.QLabel(Form)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 7, 0, 1, 2)
self.linkCombo = QtGui.QComboBox(Form)
self.linkCombo.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents)
self.linkCombo.setObjectName("linkCombo")
self.gridLayout.addWidget(self.linkCombo, 7, 2, 1, 2)
self.autoPercentSpin = QtGui.QSpinBox(Form)
self.autoPercentSpin.setEnabled(True)
self.autoPercentSpin.setMinimum(1)
self.autoPercentSpin.setMaximum(100)
self.autoPercentSpin.setSingleStep(1)
self.autoPercentSpin.setProperty("value", 100)
self.autoPercentSpin.setObjectName("autoPercentSpin")
self.gridLayout.addWidget(self.autoPercentSpin, 2, 2, 1, 2)
self.autoRadio = QtGui.QRadioButton(Form)
self.autoRadio.setChecked(True)
self.autoRadio.setObjectName("autoRadio")
self.gridLayout.addWidget(self.autoRadio, 2, 0, 1, 2)
self.manualRadio = QtGui.QRadioButton(Form)
self.manualRadio.setObjectName("manualRadio")
self.gridLayout.addWidget(self.manualRadio, 1, 0, 1, 2)
self.minText = QtGui.QLineEdit(Form)
self.minText.setObjectName("minText")
self.gridLayout.addWidget(self.minText, 1, 2, 1, 1)
self.maxText = QtGui.QLineEdit(Form)
self.maxText.setObjectName("maxText")
self.gridLayout.addWidget(self.maxText, 1, 3, 1, 1)
self.invertCheck = QtGui.QCheckBox(Form)
self.invertCheck.setObjectName("invertCheck")
self.gridLayout.addWidget(self.invertCheck, 5, 0, 1, 4)
self.mouseCheck = QtGui.QCheckBox(Form)
self.mouseCheck.setChecked(True)
self.mouseCheck.setObjectName("mouseCheck")
self.gridLayout.addWidget(self.mouseCheck, 6, 0, 1, 4)
self.visibleOnlyCheck = QtGui.QCheckBox(Form)
self.visibleOnlyCheck.setObjectName("visibleOnlyCheck")
self.gridLayout.addWidget(self.visibleOnlyCheck, 3, 2, 1, 2)
self.autoPanCheck = QtGui.QCheckBox(Form)
self.autoPanCheck.setObjectName("autoPanCheck")
self.gridLayout.addWidget(self.autoPanCheck, 4, 2, 1, 2)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def dialog(points):
print "dialog ",points.Label
w=QtGui.QWidget()
w.source=points
box = QtGui.QVBoxLayout()
w.setLayout(box)
w.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
l=QtGui.QLabel("Model" )
box.addWidget(l)
w.mode = QtGui.QListWidget()
w.mode.addItems( ['linear','thin_plate', 'cubic','inverse','multiquadric','gaussian' ,'quintic' ])
box.addWidget(w.mode)
l=QtGui.QLabel("count grid lines" )
box.addWidget(l)
w.grid = QtGui.QLineEdit()
w.grid.setText('20')
box.addWidget(w.grid)
l=QtGui.QLabel("z-scale factor" )
box.addWidget(l)
w.zfac = QtGui.QLineEdit()
w.zfac.setText('10')
box.addWidget(w.zfac)
l=QtGui.QLabel("z-max " )
box.addWidget(l)
w.zmax = QtGui.QLineEdit()
w.zmax.setText('0')
box.addWidget(w.zmax)
w.matplot=QtGui.QCheckBox("show Matplot")
box.addWidget(w.matplot)
w.colormap=QtGui.QCheckBox("show colors")
box.addWidget(w.colormap)
# h=QtGui.QDial()
# h.setMaximum(100)
# h.setMinimum(0)
# w.ha=h
# box.addWidget(h)
w.r=QtGui.QPushButton("run")
box.addWidget(w.r)
w.r.pressed.connect(lambda :srun(w))
w.show()
return w
def findEntries(self):
for i in range(self.categoriesTable.rowCount(), 0, -1):
self.categoriesTable.removeRow(i - 1)
##
self.sql.reloadList()
for i in self.sql.packages():
dane = self.sql.getValues(i)
software = eval(dane["soft"])
for j in software:
if j[1] == self.fromSoftware.currentText():
rowNumber = self.categoriesTable.rowCount()
self.categoriesTable.insertRow(rowNumber)
#
widgetActive = QtGui.QCheckBox('')
widgetActive.setStyleSheet('margin-left:18px;')
self.categoriesTable.setCellWidget(rowNumber, 0, widgetActive)
#
item0 = QtGui.QTableWidgetItem(i)
self.categoriesTable.setItem(rowNumber, 1, item0)
#
item1 = QtGui.QTableWidgetItem(dane["name"])
item1.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
self.categoriesTable.setItem(rowNumber, 2, item1)
#
item2 = QtGui.QTableWidgetItem(j[0])
self.categoriesTable.setItem(rowNumber, 3, item2)
#
itemCat = QtGui.QTableWidgetItem(readCategories()[int(dane['category'])][0])
itemCat.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
self.categoriesTable.setItem(rowNumber, 4, itemCat)
#
item3 = QtGui.QTableWidgetItem(str(j[2]))
item3.setTextAlignment(QtCore.Qt.AlignCenter)
self.categoriesTable.setItem(rowNumber, 5, item3)
#
item4 = QtGui.QTableWidgetItem(str(j[3]))
item4.setTextAlignment(QtCore.Qt.AlignCenter)
self.categoriesTable.setItem(rowNumber, 6, item4)
#
item5 = QtGui.QTableWidgetItem(str(j[4]))
item5.setTextAlignment(QtCore.Qt.AlignCenter)
self.categoriesTable.setItem(rowNumber, 7, item5)
#
item6 = QtGui.QTableWidgetItem(str(j[5]))
item6.setTextAlignment(QtCore.Qt.AlignCenter)
self.categoriesTable.setItem(rowNumber, 8, item6)
#
item7 = QtGui.QTableWidgetItem(str(j[6]))
item7.setTextAlignment(QtCore.Qt.AlignCenter)
self.categoriesTable.setItem(rowNumber, 9, item7)
#
item8 = QtGui.QTableWidgetItem(str(j[7]))
item8.setTextAlignment(QtCore.Qt.AlignCenter)
self.categoriesTable.setItem(rowNumber, 10, item8)
def addRow(self, rowType):
self.insertRow(self.rowCount())
row = self.rowCount() - 1
b = QtGui.QCheckBox("")
b.setToolTip(u"Active")
self.setCellWidget(row, 0, b)
a = QtGui.QTableWidgetItem(rowType)
a.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
self.setItem(row, 1, a)
c = QtGui.QComboBox()
c.addItems(["True", "False"])
self.setCellWidget(row, 2, c)
d = QtGui.QDoubleSpinBox()
d.setSingleStep(0.1)
d.setRange(-1000, 1000)
d.setSuffix("mm")
self.setCellWidget(row, 3, d)
e = QtGui.QDoubleSpinBox()
e.setSingleStep(0.1)
e.setRange(-1000, 1000)
e.setSuffix("mm")
self.setCellWidget(row, 4, e)
f = QtGui.QDoubleSpinBox()
f.setSingleStep(0.1)
f.setRange(-1000, 1000)
f.setSuffix("mm")
self.setCellWidget(row, 5, f)
g = QtGui.QDoubleSpinBox()
g.setSingleStep(0.1)
g.setValue(1.27)
g.setSuffix("mm")
self.setCellWidget(row, 6, g)
color = kolorWarstwy()
color.setToolTip(u"Click to change color")
self.setCellWidget(row, 7, color)
i = QtGui.QComboBox()
i.addItems(["bottom-left", "bottom-center", "bottom-right", "center-left", "center", "center-right", "top-left", "top-center", "top-right"])
i.setCurrentIndex(4)
self.setCellWidget(row, 8, i)
#
self.setColumnWidth(0, 25)
def __init__(self, session, **kwargs):
"""
A widget to show solve options when determining the stellar parameters.
:param session:
A session.
"""
super(SolveOptionsDialog, self).__init__(**kwargs)
self.session = session
# Display dialog in center and set size policy.
self.setGeometry(640, 480, 640, 480)
self.move(QtGui.QApplication.desktop().screen().rect().center() \
- self.rect().center())
self.setWindowTitle("Solve options for stellar parameter determination")
sp = QtGui.QSizePolicy(
QtGui.QSizePolicy.MinimumExpanding,
QtGui.QSizePolicy.MinimumExpanding)
sp.setHeightForWidth(self.sizePolicy().hasHeightForWidth())
self.setSizePolicy(sp)
vbox = QtGui.QVBoxLayout(self)
self.check_use_uncertainties_in_line_fits = QtGui.QCheckBox(self)
self.check_use_uncertainties_in_line_fits.setText(
"Use abundance uncertainties in line fits")
vbox.addWidget(self.check_use_uncertainties_in_line_fits)
vbox.addItem(QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
QtGui.QSizePolicy.Expanding))
hbox = QtGui.QHBoxLayout()
self.btn_save_as_default = QtGui.QPushButton(self)
self.btn_save_as_default.setText("Save settings as default")
self.btn_save_as_default.clicked.connect(self.save_as_default)
hbox.addWidget(self.btn_save_as_default)
hbox.addItem(QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Minimum))
self.btn_apply = QtGui.QPushButton(self)
self.btn_apply.setText("Apply")
self.btn_apply.setDefault(True)
self.btn_apply.clicked.connect(self.apply)
hbox.addWidget(self.btn_apply)
self.btn_cancel = QtGui.QPushButton(self)
self.btn_cancel.setText("Cancel")
self.btn_cancel.clicked.connect(self.close)
hbox.addWidget(self.btn_cancel)
vbox.addLayout(hbox)
self.populate_widgets()
return None
def createWidgets(self):
mainVLayout = QtGui.QVBoxLayout()
fileFLayout = QtGui.QFormLayout()
self.exportPath = QtGui.QLineEdit(self)
self.exportPath.setText(config.tiltBrushExportDir)
fileFLayout.addRow('Exported Files path: ', self.exportPath)
self.outputPath = QtGui.QLineEdit(self)
self.outputPath.setText(config.tiltBrushExportDir)
fileFLayout.addRow('Output path: ', self.outputPath)
mainVLayout.addLayout(fileFLayout)
self.updateListButton = QtGui.QPushButton(self)
self.updateListButton.setText("Update List")
mainVLayout.addWidget(self.updateListButton)
optionsHLayout = QtGui.QHBoxLayout()
optionsFLayout1 = QtGui.QFormLayout()
self.add_backface = QtGui.QCheckBox(self)
optionsFLayout1.addRow("Add Backface: ", self.add_backface)
self.weld_verts = QtGui.QCheckBox(self)
optionsFLayout1.addRow("Weld Vertices: ", self.weld_verts)
optionsFLayout2 = QtGui.QFormLayout()
self.merge_stroke = QtGui.QCheckBox(self)
optionsFLayout2.addRow("Merge Strokes: ", self.merge_stroke)
self.merge_brush = QtGui.QCheckBox(self)
self.merge_brush.setChecked(True)
optionsFLayout2.addRow("Merge Brushes: ", self.merge_brush)
optionsHLayout.addLayout(optionsFLayout1)
optionsHLayout.addLayout(optionsFLayout2)
mainVLayout.addLayout(optionsHLayout)
listVLayout = QtGui.QVBoxLayout()
listVLayout.addWidget(QtGui.QLabel('Exported Files:'))
self.jsonFiles = QListWidget(parent=self)
listVLayout.addWidget(self.jsonFiles)
mainVLayout.addLayout(listVLayout)
self.convertButton = QtGui.QPushButton(self)
self.convertButton.setText('Convert')
mainVLayout.addWidget(self.convertButton)
self.setLayout(mainVLayout)
def createWidgets(self):
mainVLayout = QtGui.QVBoxLayout()
fileFLayout = QtGui.QFormLayout()
self.exportPath = QtGui.QLineEdit(self)
self.exportPath.setText(config.tiltBrushExportDir)
fileFLayout.addRow('Exported Files path: ', self.exportPath)
self.outputPath = QtGui.QLineEdit(self)
self.outputPath.setText(config.tiltBrushExportDir)
fileFLayout.addRow('Output path: ', self.outputPath)
mainVLayout.addLayout(fileFLayout)
self.updateListButton = QtGui.QPushButton(self)
self.updateListButton.setText("Update List")
mainVLayout.addWidget(self.updateListButton)
optionsFLayout = QtGui.QFormLayout()
self.cooked = QtGui.QCheckBox(self)
self.cooked.setChecked(True)
optionsFLayout.addRow("Cook meshes: ", self.cooked)
mainVLayout.addLayout(optionsFLayout)
listVLayout = QtGui.QVBoxLayout()
listVLayout.addWidget(QtGui.QLabel('Exported Files:'))
self.jsonFiles = QListWidget(parent=self)
listVLayout.addWidget(self.jsonFiles)
mainVLayout.addLayout(listVLayout)
self.convertButton = QtGui.QPushButton(self)
self.convertButton.setText('Convert')
mainVLayout.addWidget(self.convertButton)
self.setLayout(mainVLayout)
universal_tool_template_1020.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 22
收藏 0
点赞 0
评论 0
def __init__(self, parent=None, mode=0):
QtWidgets.QMainWindow.__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.name = self.__class__.__name__
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.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 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',
'txtEdit': 'LNTextEdit', 'txt': 'QTextEdit',
'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_v7.3.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 23
收藏 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',
'txtEdit': 'LNTextEdit', 'txt': 'QTextEdit',
'tree': 'QTreeWidget',
'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_0904.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 23
收藏 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_0904.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 19
收藏 0
点赞 0
评论 0
def loadLang(self):
if isinstance(self, QtWidgets.QMainWindow):
self.quickMenu(['language_menu;&Language'])
cur_menu = self.uiList['language_menu']
self.quickMenuAction('langDefault_atnLang', 'Default','','langDefault.png', cur_menu)
cur_menu.addSeparator()
self.uiList['langDefault_atnLang'].triggered.connect(partial(self.setLang,'default'))
# store default language
self.memoData['lang']={}
self.memoData['lang']['default']={}
for ui_name in self.uiList:
ui_element = self.uiList[ui_name]
if type(ui_element) in [ QtWidgets.QLabel, QtWidgets.QPushButton, QtWidgets.QAction, QtWidgets.QCheckBox ]:
# uiType: QLabel, QPushButton, QAction(menuItem), QCheckBox
self.memoData['lang']['default'][ui_name] = str(ui_element.text())
elif type(ui_element) in [ QtWidgets.QGroupBox, QtWidgets.QMenu ]:
# uiType: QMenu, QGroupBox
self.memoData['lang']['default'][ui_name] = str(ui_element.title())
elif type(ui_element) in [ QtWidgets.QTabWidget]:
# uiType: QTabWidget
tabCnt = ui_element.count()
tabNameList = []
for i in range(tabCnt):
tabNameList.append(str(ui_element.tabText(i)))
self.memoData['lang']['default'][ui_name]=';'.join(tabNameList)
elif type(ui_element) == str:
# uiType: string for msg
self.memoData['lang']['default'][ui_name] = self.uiList[ui_name]
# try load other language
lang_path = os.path.dirname(self.location) # better in packed than(os.path.abspath(__file__))
baseName = os.path.splitext( os.path.basename(self.location) )[0]
for fileName in os.listdir(lang_path):
if fileName.startswith(baseName+"_lang_"):
langName = fileName.replace(baseName+"_lang_","").split('.')[0].replace(" ","")
self.memoData['lang'][ langName ] = self.readFileData( os.path.join(lang_path,fileName) )
if isinstance(self, QtWidgets.QMainWindow):
self.quickMenuAction(langName+'_atnLang', langName.upper(),'',langName + '.png', self.uiList['language_menu'])
self.uiList[langName+'_atnLang'].triggered.connect(partial(self.setLang,langName))
# if no language file detected, add export default language option
if isinstance(self, QtWidgets.QMainWindow) and len(self.memoData['lang']) == 1:
self.quickMenuAction('langExport_atnLang', 'Export Default Language','','langExport.png', self.uiList['language_menu'])
self.uiList['langExport_atnLang'].triggered.connect(self.exportLang)
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 loadLang(self):
if isinstance(self, QtWidgets.QMainWindow):
self.quickMenu(['language_menu;&Language'])
cur_menu = self.uiList['language_menu']
self.quickMenuAction('langDefault_atnLang', 'Default','','langDefault.png', cur_menu)
cur_menu.addSeparator()
self.uiList['langDefault_atnLang'].triggered.connect(partial(self.setLang,'default'))
# store default language
self.memoData['lang']={}
self.memoData['lang']['default']={}
for ui_name in self.uiList:
ui_element = self.uiList[ui_name]
if type(ui_element) in [ QtWidgets.QLabel, QtWidgets.QPushButton, QtWidgets.QAction, QtWidgets.QCheckBox ]:
# uiType: QLabel, QPushButton, QAction(menuItem), QCheckBox
self.memoData['lang']['default'][ui_name] = str(ui_element.text())
elif type(ui_element) in [ QtWidgets.QGroupBox, QtWidgets.QMenu ]:
# uiType: QMenu, QGroupBox
self.memoData['lang']['default'][ui_name] = str(ui_element.title())
elif type(ui_element) in [ QtWidgets.QTabWidget]:
# uiType: QTabWidget
tabCnt = ui_element.count()
tabNameList = []
for i in range(tabCnt):
tabNameList.append(str(ui_element.tabText(i)))
self.memoData['lang']['default'][ui_name]=';'.join(tabNameList)
elif type(ui_element) == str:
# uiType: string for msg
self.memoData['lang']['default'][ui_name] = self.uiList[ui_name]
# try load other language
lang_path = os.path.dirname(self.location) # better in packed than(os.path.abspath(__file__))
baseName = os.path.splitext( os.path.basename(self.location) )[0]
for fileName in os.listdir(lang_path):
if fileName.startswith(baseName+"_lang_"):
langName = fileName.replace(baseName+"_lang_","").split('.')[0].replace(" ","")
self.memoData['lang'][ langName ] = self.readFileData( os.path.join(lang_path,fileName) )
if isinstance(self, QtWidgets.QMainWindow):
self.quickMenuAction(langName+'_atnLang', langName.upper(),'',langName + '.png', self.uiList['language_menu'])
self.uiList[langName+'_atnLang'].triggered.connect(partial(self.setLang,langName))
# if no language file detected, add export default language option
if isinstance(self, QtWidgets.QMainWindow) and len(self.memoData['lang']) == 1:
self.quickMenuAction('langExport_atnLang', 'Export Default Language','','langExport.png', self.uiList['language_menu'])
self.uiList['langExport_atnLang'].triggered.connect(self.exportLang)
universal_tool_template_0903.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 25
收藏 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)