本文整理汇总了Python中qttable.QTable类的典型用法代码示例。如果您正苦于以下问题:Python QTable类的具体用法?Python QTable怎么用?Python QTable使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QTable类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self,parent,*pars):
QTable.__init__(self,parent,*pars)
# Defaults
self.setNumAxes ( 1 )
self.setLeftMargin ( 0 )
开发者ID:MartinSavko,项目名称:mxcube,代码行数:7,代码来源:FiltersBrick.py
示例2: __init__
def __init__(self, parent):
QTable.__init__(self, parent)
self.choicesList = QStringList()
self.motors = {}
self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)
self.setLeftMargin(0) # no vertical header
self.setNumCols(5)
self.setNumRows(0)
self.setVScrollBarMode(QScrollView.AlwaysOff)
self.horizontalHeader().setLabel(0, 'Axis')
self.horizontalHeader().setLabel(1, 'Motor pos.')
self.horizontalHeader().setLabel(2, 'Start pos.')
self.horizontalHeader().setLabel(3, 'End pos.')
self.horizontalHeader().setLabel(4, 'Nb points')
#self.horizontalHeader().setLabel(5, 'Ct. time')
self.adjustColumn(2)
self.adjustColumn(3)
self.adjustColumn(4)
self.horizontalHeader().setResizeEnabled(False)
#self.adjustColumn(5)
self.connect(self, SIGNAL('valueChanged(int, int)'), self.valueChanged)
开发者ID:douglasbeniz,项目名称:BlissFramework,代码行数:25,代码来源:GenericScanBrick.py
示例3: __init__
def __init__(self, padre, interfazdatos, porterodatos):
from Driza.datos.conversion import AgenteConversion
self.__portero = porterodatos
QTabWidget.__init__(self, padre, "Grid")
self.setTabPosition(QTabWidget.Bottom)
self.tab = QWidget(self, "tab")
tabLayout = QVBoxLayout(self.tab, 11, 6, "tabLayout")
self.table1 = QTable(self.tab, "table1")
tabLayout.addWidget(self.table1)
self.insertTab(self.tab, QString.fromLatin1("&Registros"))
self.tab_2 = QWidget(self, "tab_2")
tabLayout_2 = QVBoxLayout(self.tab_2, 11, 6, "tabLayout_2")
self.table2 = QTable(self.tab_2, "table2")
tabLayout_2.addWidget(self.table2)
self.insertTab(self.tab_2, QString.fromLatin1("&Variables"))
from Driza.iuqt3.vprincipal.dcasos import DCasos
self.dcasos = DCasos(self.table1, interfazdatos)
self.modoetiqueta = False # Variable que guarda si estamos en modo etiqueta o normal
self.__nreg = 10
self.__nvar = 10
self.__idu = interfazdatos
self.__init_t_reg()
self.__init_t_var()
self.__conexiones()
self.__agenteconversion = AgenteConversion(self.__idu)
开发者ID:,项目名称:,代码行数:26,代码来源:
示例4: __init__
def __init__(self, parent):
QTable.__init__(self, parent)
self.motorsList = QStringList()
self.motors = {}
self.customColumns = {}
self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
self.setLeftMargin(0) # no vertical header
self.setNumCols(5)
self.setNumRows(1)
self.setVScrollBarMode(QScrollView.AlwaysOff)
self.horizontalHeader().setLabel(0, "Motor")
self.horizontalHeader().setLabel(1, "Motor pos.")
self.horizontalHeader().setLabel(2, "Start pos.")
self.horizontalHeader().setLabel(3, "End pos.")
self.horizontalHeader().setLabel(4, "Nb points")
self.adjustColumn(2)
self.adjustColumn(3)
self.adjustColumn(4)
self.horizontalHeader().setResizeEnabled(False)
QObject.connect(self, SIGNAL("valueChanged(int, int)"), self.valueChanged)
开发者ID:IvarsKarpics,项目名称:mxcube,代码行数:25,代码来源:ProcedureWidgets.py
示例5: __init__
def __init__(self, parent):
QTable.__init__(self, parent, 'configurationTable')
self.setFrameShape(QTable.ToolBarPanel)
self.setFrameShadow(QTable.Sunken)
self.setResizePolicy(QTable.Default)
self.setLeftMargin(0)
self.setNumCols(3)
self.setSelectionMode(QTable.NoSelection)
self.horizontalHeader().setLabel(0, self.trUtf8('Properties'))
self.horizontalHeader().setLabel(1, self.trUtf8('Values'))
self.horizontalHeader().setLabel(2, self.trUtf8(''))
self.horizontalHeader().setResizeEnabled(False)
self.horizontalHeader().setClickEnabled(False)
self.horizontalHeader().setMovingEnabled(False)
self.setColumnReadOnly(0, 1) # column 0 is read-only
self.setColumnReadOnly(0, 2)
self.setColumnStretchable(0, 0)
self.setColumnStretchable(1, 1)
self.setColumnStretchable(2, 0)
self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.propertyBag = None
QObject.connect(self, SIGNAL('valueChanged(int, int)'), self.OnValueChanged)
开发者ID:IvarsKarpics,项目名称:BlissFramework,代码行数:26,代码来源:PropertyEditor.py
示例6: __init__
def __init__(self, parent, searchForm, editForm, *args):
QTable.__init__(self, parent, *args)
self.setSelectionMode(QTable.SingleRow)
self.setShowGrid(True)
self.app = kuraapp.app
self.searchForm = searchForm
self.editForm = editForm
self.headers = []
self.connect(self, SIGNAL("valueChanged(int, int)"), self.commit)
self.setSorting(True)
开发者ID:boudewijnrempt,项目名称:kura,代码行数:10,代码来源:guitable.py
示例7: addRows
def addRows(self, rows = 1):
row = self.numRows()
QTable.setNumRows(self, row + rows)
for i in range(rows):
self.setItem(row + i, 0, QComboTableItem(self, self.motorList))
self.setItem(row + i, 1, MotorPositionReminder(self))
self.adjustColumn(1)
self.updateGeometry()
开发者ID:IvarsKarpics,项目名称:BlissFramework,代码行数:11,代码来源:ScanAxisConfigurationTable.py
示例8: setFilters
def setFilters(self,axisno,filters):
self.nfilt[axisno] = len(filters)
nrows = reduce( lambda a,b: a>b and a or b, self.nfilt )
QTable.setNumRows( self, nrows )
filtno = 0
for filterlab in filters:
self.setItem(filtno, axisno, FilterItem( self, filterlab ) )
self.updateCell( filtno, axisno )
filtno += 1
self.nfilt[axisno] = filtno
开发者ID:MartinSavko,项目名称:mxcube,代码行数:14,代码来源:FiltersBrick.py
示例9: setNumAxes
def setNumAxes(self,naxes):
self.naxes = naxes
self.current = [0,] * self.naxes
self.states = [None,] * self.naxes
self.nfilt = [2,] * self.naxes
QTable.setNumCols( self, self.naxes )
self.header = self.horizontalHeader()
self.header.setClickEnabled( 0 )
self.current = [0,] * self.naxes
self.states = [ON,] * self.naxes
self.nfilt = [2,] * self.naxes
开发者ID:MartinSavko,项目名称:mxcube,代码行数:14,代码来源:FiltersBrick.py
示例10: endEdit
def endEdit(self, row, col, accept, replace):
if col == 1 and row >= 0:
self.item(row, 2).setEnabled(0)
if accept:
property = self.propertyBag.getProperty(str(self.text(row, 0)))
oldValue = property.getUserValue()
if property.getType() == 'boolean':
property.setValue(self.item(row, 1).isChecked())
elif property.getType() == 'combo':
property.setValue(self.item(row, 1).currentText())
else:
try:
property.setValue(str(self.text(row, 1)))
except:
logging.getLogger().error('Cannot assign value to property')
if property.getUserValue() is None:
self.setText(row, 1, '')
else:
self.setText(row, 1, str(property.getUserValue()))
if not oldValue == property.getUserValue():
self.emit(PYSIGNAL('propertyChanged'), (property.getName(), oldValue, property.getUserValue(), ))
return QTable.endEdit(self, row, col, accept, replace)
开发者ID:IvarsKarpics,项目名称:BlissFramework,代码行数:28,代码来源:PropertyEditor.py
示例11: __init__
def __init__(self,parent = None,name = None,modal = 0,fl = 0):
QDialog.__init__(self,parent,name,modal,fl)
if not name:
self.setName("EvidencesListUI")
self.evidences_table = QTable(self,"evidences_table")
self.evidences_table.setNumCols(self.evidences_table.numCols() + 1)
self.evidences_table.horizontalHeader().setLabel(self.evidences_table.numCols() - 1,self.__tr("Id"))
self.evidences_table.setNumCols(self.evidences_table.numCols() + 1)
self.evidences_table.horizontalHeader().setLabel(self.evidences_table.numCols() - 1,self.__tr("Path"))
self.evidences_table.setGeometry(QRect(20,20,510,360))
self.evidences_table.setMinimumSize(QSize(300,0))
self.evidences_table.setResizePolicy(QTable.AutoOne)
self.evidences_table.setVScrollBarMode(QTable.AlwaysOn)
self.evidences_table.setNumRows(0)
self.evidences_table.setNumCols(2)
LayoutWidget = QWidget(self,"layout7")
LayoutWidget.setGeometry(QRect(90,400,377,29))
layout7 = QHBoxLayout(LayoutWidget,5,5,"layout7")
self.add_button = QPushButton(LayoutWidget,"add_button")
layout7.addWidget(self.add_button)
spacer = QSpacerItem(21,21,QSizePolicy.Expanding,QSizePolicy.Minimum)
layout7.addItem(spacer)
self.delete_button = QPushButton(LayoutWidget,"delete_button")
layout7.addWidget(self.delete_button)
self.languageChange()
self.resize(QSize(555,447).expandedTo(self.minimumSizeHint()))
self.clearWState(Qt.WState_Polished)
开发者ID:0x24bin,项目名称:BurpSuite,代码行数:35,代码来源:evidenceslist.py
示例12: endEdit
def endEdit(self, row, col, accept, replace):
if col in self.customColumns:
value = str(self.text(row, col))
type = self.customColumns[col]["type"]
if type == "integer":
try:
v = int(value)
except BaseException:
QMessageBox.warning(
None,
"Invalid value",
"%s is not a valid integer value" % value,
QMessageBox.Ok,
)
accept = False
elif type == "float":
try:
v = float(value)
except BaseException:
QMessageBox.warning(
None,
"Invalid value",
"%s is not a valid float value" % value,
QMessageBox.Ok,
)
accept = False
return QTable.endEdit(self, row, col, accept, replace)
开发者ID:IvarsKarpics,项目名称:mxcube,代码行数:29,代码来源:ProcedureWidgets.py
示例13: __init__
def __init__(self,parent = None,name = None,modal = 0,fl = 0):
QDialog.__init__(self,parent,name,modal,fl)
if not name:
self.setName("VulnerabilitiesUi")
self.t_vulns = QTable(self,"t_vulns")
self.t_vulns.setNumCols(self.t_vulns.numCols() + 1)
self.t_vulns.horizontalHeader().setLabel(self.t_vulns.numCols() - 1,self.__tr("Name"))
self.t_vulns.setNumCols(self.t_vulns.numCols() + 1)
self.t_vulns.horizontalHeader().setLabel(self.t_vulns.numCols() - 1,self.__tr("Refs"))
self.t_vulns.setNumCols(self.t_vulns.numCols() + 1)
self.t_vulns.horizontalHeader().setLabel(self.t_vulns.numCols() - 1,self.__tr("Description"))
self.t_vulns.setMinimumSize(QSize(700,0))
self.t_vulns.setResizePolicy(QTable.AutoOne)
self.t_vulns.setVScrollBarMode(QTable.AlwaysOn)
self.t_vulns.setNumRows(0)
self.t_vulns.setNumCols(3)
LayoutWidget = QWidget(self,"layout7")
LayoutWidget.setGeometry(QRect(90,500,450,29))
layout7 = QHBoxLayout(LayoutWidget,5,5,"layout7")
self.add_button = QPushButton(LayoutWidget,"add_button")
layout7.addWidget(self.add_button)
spacer6_2 = QSpacerItem(21,21,QSizePolicy.Expanding,QSizePolicy.Minimum)
layout7.addItem(spacer6_2)
self.edit_button = QPushButton(LayoutWidget,"edit_button")
layout7.addWidget(self.edit_button)
spacer6 = QSpacerItem(21,21,QSizePolicy.Expanding,QSizePolicy.Minimum)
layout7.addItem(spacer6)
self.delete_button = QPushButton(LayoutWidget,"delete_button")
layout7.addWidget(self.delete_button)
spacer6_3 = QSpacerItem(21,21,QSizePolicy.Expanding,QSizePolicy.Minimum)
layout7.addItem(spacer6_3)
self.list_note_button = QPushButton(LayoutWidget,"list_note_button")
layout7.addWidget(self.list_note_button)
spacer7_3 = QSpacerItem(21,21,QSizePolicy.Expanding,QSizePolicy.Minimum)
layout7.addItem(spacer7_3)
self.manage_evidence_button = QPushButton(LayoutWidget,"manage_evidence_button")
layout7.addWidget(self.manage_evidence_button)
self.languageChange()
self.resize(QSize(733,550).expandedTo(self.minimumSizeHint()))
self.clearWState(Qt.WState_Polished)
开发者ID:BecomingMore,项目名称:faraday,代码行数:60,代码来源:vulnerabilities.py
示例14: addRows
def addRows(self, rows=1):
row = self.numRows()
QTable.setNumRows(self, row + rows)
for i in range(rows):
for col in self.customColumns:
if self.customColumns[col]["type"] == "combo":
optList = QStringList()
try:
for opt in self.customColumns[col]["opt"]:
optList.append(str(opt))
except BaseException:
raise
self.setItem(row + i, col, QComboTableItem(self, optList))
self.adjustColumn(col)
self.updateGeometry()
开发者ID:IvarsKarpics,项目名称:mxcube,代码行数:20,代码来源:ProcedureWidgets.py
示例15: __init__
def __init__(self, parent = None, name = "parameter_table"):
QWidget.__init__(self, parent, name)
self.__dc_parameters = None
self.add_dc_cb = None
self.parameters_label = QLabel(self, "parameters_label")
self.parameter_table = QTable(self, "parameter_table")
self.parameter_table.setNumCols(3)
self.parameter_table.horizontalHeader().\
setLabel(0, self.__tr("Name"), -1)
self.parameter_table.horizontalHeader().\
setLabel(1, self.__tr("Value"))
self.parameter_table.verticalHeader().hide()
self.parameter_table.horizontalHeader().setClickEnabled(False, 0);
self.parameter_table.horizontalHeader().setClickEnabled(False, 1);
self.parameter_table.setColumnWidth(0, 200)
self.parameter_table.setColumnWidth(1, 200)
self.parameter_table.hideColumn(2)
self.parameter_table.setColumnReadOnly(0, True)
self.parameter_table.setLeftMargin(0)
self.parameter_table.setNumRows(0)
self.position_label = QLabel("Positions", self, "position_view")
self.position_label.setAlignment(Qt.AlignTop)
## self.add_button = QPushButton(self, "add_button")
#self.add_button.setDisabled(True)
h_layout = QGridLayout(self, 1, 2)
v_layout_position = QVBoxLayout(self)
v_layout_position.addWidget(self.position_label)
v_layout_table = QVBoxLayout(self)
h_layout.addLayout(v_layout_table, 0, 0)
h_layout.addLayout(v_layout_position, 0, 1)
v_layout_table.addWidget(self.parameters_label)
v_layout_table.addWidget(self.parameter_table)
## v_layout_table.addWidget(self.add_button)
## self.languageChange()
## QObject.connect(self.add_button, SIGNAL("clicked()"),
## self.__add_data_collection)
QObject.connect(self.parameter_table,
SIGNAL("valueChanged(int, int)"),
self.__parameter_value_change)
开发者ID:MAXLABMX,项目名称:mxcube,代码行数:49,代码来源:parameter_table_widget.py
示例16: __init__
def __init__(self, *args):
QDialog.__init__(self, *args)
self.setCaption("%s - channel properties" % str(self.name()))
self.innerbox = QSplitter(Qt.Horizontal, self)
grid = QGrid(2, self.innerbox)
grid.setSpacing(5)
grid.setMargin(5)
QLabel("Label", grid)
self.txtLabel = QLineEdit(grid)
QLabel("Label position", grid)
labelpos_group = QVButtonGroup(grid)
self.optLabelAbove = QRadioButton("above", labelpos_group)
self.optLabelLeft = QRadioButton("on the left", labelpos_group)
self.optLabelLeft.setChecked(True)
QLabel("Label alignment", grid)
labelalign_group = QHButtonGroup(grid)
self.optLabelAlignLeft = QRadioButton("left", labelalign_group)
self.optLabelAlignCenter = QRadioButton("centre", labelalign_group)
self.optLabelAlignRight = QRadioButton("right", labelalign_group)
self.optLabelAlignLeft.setChecked(True)
QLabel("Value display format", grid)
self.txtFormat = QLineEdit(grid)
QLabel("Value display style", grid)
self.lstChannelStyles = QComboBox(grid)
self.lstChannelStyles.insertStrList(["LCD", "label", "combo", "editable"])
QObject.connect(self.lstChannelStyles, SIGNAL('activated(int)'), self.lstChannelStylesChanged)
self.combopanel = QHBox(self.innerbox)
self.tblComboChoices = QTable(self.combopanel)
self.tblComboChoices.setNumCols(2)
self.tblComboChoices.setNumRows(10)
for i in range(10):
self.tblComboChoices.verticalHeader().setLabel(i, "%2.0f" % (i+1))
self.tblComboChoices.setText(i, 0, "%2.0f" % (i+1))
self.tblComboChoices.horizontalHeader().setLabel(0, "value")
self.tblComboChoices.horizontalHeader().setLabel(1, "label")
self.combopanel.hide()
ok_cancel = QHBox(self)
self.cmdOk = QPushButton("ok", ok_cancel)
HorizontalSpacer(ok_cancel)
self.cmdCancel = QPushButton("cancel", ok_cancel)
QObject.connect(self.cmdOk, SIGNAL("clicked()"), self.accept)
QObject.connect(self.cmdCancel, SIGNAL("clicked()"), self.reject)
QVBoxLayout(self, 5, 10)
self.layout().addWidget(self.innerbox)
self.layout().addWidget(ok_cancel)
开发者ID:IvarsKarpics,项目名称:BlissFramework,代码行数:48,代码来源:ControlPanelBrick.py
示例17: __init__
def __init__(self,parent = None,name = None,fl = 0):
QWidget.__init__(self,parent,name,fl)
if not name:
self.setName("Canvasinfo")
self.canvaslabels = QTable(self,"canvaslabels")
self.canvaslabels.setNumCols(2)
self.canvaslabels.horizontalHeader().setLabel(0,"X")
self.canvaslabels.horizontalHeader().setLabel(1,"Y")
self.canvaslabels.setNumRows(5)
for i in range (5):
self.canvaslabels.verticalHeader().setLabel(i,
QIconSet(QPixmap(sys.path[0]+"/larm_utilities/sprite%d.png" % (i + 1))),QString.null)
self.canvaslabels.setGeometry(QRect(0,20,300,128))
self.canvaslabels.setCursor(QCursor(13))
self.canvaslabels.setFocusPolicy(QTable.NoFocus)
self.canvaslabels.setFrameShape(QTable.StyledPanel)
self.canvaslabels.setResizePolicy(QTable.AutoOne)
self.canvaslabels.setReadOnly(1)
self.canvaslabels.setSelectionMode(QTable.NoSelection)
self.canvaslabels.setFocusStyle(QTable.FollowStyle)
self.label = QLabel(self,"label")
self.label.setGeometry(QRect(0,0,300,20))
self.label.setPaletteForegroundColor(QColor('gold'))
label_font = QFont(self.label.font())
label_font.setFamily("Pigiarniq Heavy")
self.label.setFont(label_font)
self.label.setAlignment(Qt.AlignCenter)
self.canvaslabels.setPaletteBackgroundColor(QColor(50, 50, 50))
self.canvaslabels.setPaletteForegroundColor(QColor('gold'))
self.canvaslabels.setColumnWidth(0, 132)
self.canvaslabels.setColumnWidth(1, 132)
self.canvaslabels.setShowGrid(False)
self.clearWState(Qt.WState_Polished)
self.connect(self,PYSIGNAL("showMachineLabel"),self.updateLabels)
self.connect(self,PYSIGNAL("hideMachineLabel"),self.deleteLabels)
开发者ID:jpburstrom,项目名称:larm,代码行数:43,代码来源:canvaslabel.py
示例18: endEdit
def endEdit(self, row, col, accept, replace):
if col in self.customColumns:
value = str(self.text(row, col))
type = self.customColumns[col]['type']
if type == 'integer':
try:
v = int(value)
except:
QMessageBox.warning(None, 'Invalid value', '%s is not a valid integer value' % value, QMessageBox.Ok)
accept = False
elif type == 'float':
try:
v = float(value)
except:
QMessageBox.warning(None, 'Invalid value', '%s is not a valid float value' % value, QMessageBox.Ok)
accept = False
return QTable.endEdit(self, row, col, accept, replace)
开发者ID:IvarsKarpics,项目名称:BlissFramework,代码行数:19,代码来源:ProcedureWidgets.py
示例19: __init__
def __init__(self, row, col, routeToSelf = True, parent = None,name = None,fl = 0):
QWidget.__init__(self,parent,name,fl)
if not name:
self.setName("Form4")
self.routeToSelf = routeToSelf
self.empty_cells = []
self.currentvalue = None #holds current slider value
self.table1 = QTable(self,"table1")
self.table1.setPaletteBackgroundColor(QColor(0,0,0))
self.table1.viewport().setPaletteBackgroundColor(QColor(0,0,0))
self.table1.setResizePolicy(QTable.AutoOne)
self.table1.setVScrollBarMode(QTable.AlwaysOff)
for r in range(self.table1.numRows()):
self.table1.setRowHeight(r, 18)
self.table1.setRowStretchable(r, False)
pr = Param()#Holding param
self.root_param.insertChild(pr)
self.params.append(pr)
for c in range(self.table1.numCols()):
if r == 0:
self.table1.setColumnWidth(c, self.columnwidth)
if self.routeToSelf is True or r is not c:
p = Param(type=float)
pr.insertChild(p)
self.table1.setCellWidget(r, c, ParamProgress(p, self.table1))
else:
#do nothing
#self.params[r].append(-1)
self.empty_cells.append((r, c))
self.table1.setHScrollBarMode(QTable.AlwaysOff)
self.table1.setShowGrid(0)
self.table1.setReadOnly(1)
self.table1.setSelectionMode(QTable.NoSelection)
self.table1.setFocusPolicy(QWidget.NoFocus)
self.root_param = Param()
self.params = [] #holds all parent Params
self.columnwidth = 50
self.setsize(row, col)
self.adjustSize()
开发者ID:jpburstrom,项目名称:larm,代码行数:40,代码来源:jrouting.py
示例20: __init__
def __init__(self, *args):
BaseComponents.BlissWidget.__init__(self, *args)
#map displayed string in the history list -> actual file path
self.history_map = dict()
self.layout = QVBoxLayout(self)
self.defineSlot('load_file', ())
self.defineSlot('login_changed', ())
self.addProperty('mnemonic', 'string', '')
self.addProperty('history', 'string', '', hidden=True)
self.addProperty('sessions ttl (in days)', 'integer', '30')
#make sure the history property is a pickled dict
try:
hist = pickle.loads(self.getProperty('history').getValue())
except: # EOFError if the string is empty but let's not count on it
self.getProperty('history').setValue(pickle.dumps(dict()))
# maybe defer that for later
self.cleanup_history()
self.main_layout = QSplitter(self)
self.main_layout.setSizePolicy(QSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.MinimumExpanding))
# left part of the splitter
self.history_box = QVBox(self.main_layout)
self.history_box.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
self.sort_order = True
self.sort_col = None
self.history = QTable(self.history_box)
self.history.setSizePolicy(QSizePolicy(QSizePolicy.Minimum, QSizePolicy.MinimumExpanding))
self.history.setSelectionMode(QTable.SingleRow)
self.history.setNumCols(3)
self.history.verticalHeader().hide()
self.history.setLeftMargin(0)
self.history.setSorting(False)
QObject.connect(self.history,
SIGNAL('currentChanged(int,int)'),
self.history_changed)
#by default sorting only sorts the columns and not whole rows.
#let's reimplement that
QObject.connect(self.history.horizontalHeader(),
SIGNAL('clicked(int)'),
self.sort_column)
header = self.history.horizontalHeader()
header.setLabel(0, 'Time and date')
header.setLabel(1, 'Prefix')
header.setLabel(2, 'Run number')
self.clear_history_button = QPushButton('Clear history', self.history_box)
self.history_box.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed)
QObject.connect(self.clear_history_button, SIGNAL('clicked()'),
self.clear_history)
# Right part of the splitter
self.browser_box = QWidget(self.main_layout)
QVBoxLayout(self.browser_box)
self.browser_box.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.MinimumExpanding)
self.top_layout = QHBoxLayout(self.browser_box)
self.back_button = QToolButton(self.browser_box)
self.back_button.setIconSet(QIconSet(Icons.load('Left2')))
self.back_button.setTextLabel('Back')
self.back_button.setUsesTextLabel(True)
self.back_button.setTextPosition(QToolButton.BelowIcon)
self.back_button.setSizePolicy(QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum))
self.forward_button = QToolButton(self.browser_box)
self.forward_button.setIconSet(QIconSet(Icons.load('Right2')))
self.forward_button.setTextLabel('Forward')
self.forward_button.setUsesTextLabel(True)
self.forward_button.setTextPosition(QToolButton.BelowIcon)
self.forward_button.setSizePolicy(QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum))
self.top_layout.addWidget(self.back_button)
self.top_layout.addWidget(self.forward_button)
self.browser_box.layout().addLayout(self.top_layout)
self.browser = QTextBrowser(self.browser_box)
self.browser.setReadOnly(True)
self.browser_box.layout().addWidget(self.browser)
self.layout.addWidget(self.main_layout)
#initially disabled
self.forward_button.setEnabled(False)
self.back_button.setEnabled(False)
#connections
QObject.connect(self.browser, SIGNAL('backwardAvailable(bool)'),
self.back_button.setEnabled)
QObject.connect(self.browser, SIGNAL('forwardAvailable(bool)'),
#.........这里部分代码省略.........
开发者ID:douglasbeniz,项目名称:mxcube,代码行数:101,代码来源:BrowserBrick.py
注:本文中的qttable.QTable类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论