本文整理汇总了Python中gi.repository.Gtk.TreeViewColumn方法的典型用法代码示例。如果您正苦于以下问题:Python Gtk.TreeViewColumn方法的具体用法?Python Gtk.TreeViewColumn怎么用?Python Gtk.TreeViewColumn使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gi.repository.Gtk
的用法示例。
在下文中一共展示了Gtk.TreeViewColumn方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: set_column_titles
# 需要导入模块: from gi.repository import Gtk [as 别名]
# 或者: from gi.repository.Gtk import TreeViewColumn [as 别名]
def set_column_titles(self, column_titles, column_offset=0, renderers=None):
"""
Populate the column names of a GTK TreeView and set their sort IDs. This
also populates the :py:attr:`.column_titles` attribute.
:param list column_titles: The titles of the columns.
:param int column_offset: The offset to start setting column names at.
:param list renderers: A list containing custom renderers to use for each column.
:return: A dict of all the :py:class:`Gtk.TreeViewColumn` objects keyed by their column id.
:rtype: dict
"""
self.column_titles.update((v, k) for (k, v) in enumerate(column_titles, column_offset))
columns = gui_utilities.gtk_treeview_set_column_titles(self.treeview, column_titles, column_offset=column_offset, renderers=renderers)
for store_id, column_title in enumerate(column_titles, column_offset):
self.column_views[column_title] = columns[store_id]
return columns
示例2: build_interface
# 需要导入模块: from gi.repository import Gtk [as 别名]
# 或者: from gi.repository.Gtk import TreeViewColumn [as 别名]
def build_interface(self):
"""
Builds the interface.
"""
self.model = Gtk.ListStore(str, str)
self.view = Gtk.TreeView(model=self.model)
self.selection = self.view.get_selection()
renderer = Gtk.CellRendererText()
column = Gtk.TreeViewColumn(_('Key'), renderer, text=0)
self.view.append_column(column)
renderer = Gtk.CellRendererText()
renderer.set_property('editable', True)
renderer.connect('edited', self.__cell_edited, (self.model, 1))
column = Gtk.TreeViewColumn(_('Value'), renderer, text=1)
self.view.append_column(column)
scrollwin = Gtk.ScrolledWindow()
scrollwin.add(self.view)
scrollwin.set_policy(Gtk.PolicyType.AUTOMATIC,
Gtk.PolicyType.AUTOMATIC)
self.pack_start(scrollwin, expand=True, fill=True, padding=0)
示例3: create_tab
# 需要导入模块: from gi.repository import Gtk [as 别名]
# 或者: from gi.repository.Gtk import TreeViewColumn [as 别名]
def create_tab(self, title):
"""
Create a page in the notebook.
"""
scrolled_window = Gtk.ScrolledWindow()
scrolled_window.set_policy(Gtk.PolicyType.AUTOMATIC,
Gtk.PolicyType.AUTOMATIC)
view = Gtk.TreeView()
column = Gtk.TreeViewColumn(_('Files'))
view.append_column(column)
cell = Gtk.CellRendererText()
column.pack_start(cell, True)
column.add_attribute(cell, 'text', 0)
column.set_sort_column_id(0)
column.set_sort_indicator(True)
model = Gtk.ListStore(str, str)
view.set_model(model)
page = self.notebook.get_n_pages()
view.connect('button-press-event', self.button_press, page)
scrolled_window.add(view)
self.models.append(model)
self.views.append(view)
label = Gtk.Label(title)
self.notebook.append_page(scrolled_window, label)
示例4: create_treeview
# 需要导入模块: from gi.repository import Gtk [as 别名]
# 或者: from gi.repository.Gtk import TreeViewColumn [as 别名]
def create_treeview(self, lstore, list_of_lists, editable_column = None):
self.tv_w = Gtk.TreeView(model=lstore)
self.tv_w.set_size_request(-1, 70)
self.tv_w.get_selection().set_mode(Gtk.SelectionMode.SINGLE)
self.tv_w_renderers = []
for i,v in enumerate(list_of_lists[0]):
if (type(v) == type("string") or
type(v) == type(1)):
renderer = Gtk.CellRendererText()
if editable_column or editable_column == 0:
column = Gtk.TreeViewColumn('',renderer, text=i, \
editable = editable_column)
else:
column = Gtk.TreeViewColumn('',renderer, text=i)
elif type(v) == type(False):
renderer = Gtk.CellRendererToggle()
column = Gtk.TreeViewColumn('',renderer, active=i)
else:
raise TypeError
self.tv_w.append_column(column)
self.tv_w_renderers.append(renderer)
示例5: init_treeview
# 需要导入模块: from gi.repository import Gtk [as 别名]
# 或者: from gi.repository.Gtk import TreeViewColumn [as 别名]
def init_treeview(self):
textrenderer = Gtk.CellRendererText()
self.plotrenderer = Gtk.CellRendererToggle()
self.plotrenderer.connect("toggled", self.on_plot_toggled)
self.normaliserenderer = Gtk.CellRendererToggle()
self.normaliserenderer.connect("toggled", self.on_normalise_toggled)
self.tree = self.builder.get_object("Signal Selection")
self.tree.append_column(Gtk.TreeViewColumn("Plot", self.plotrenderer, active=0))
self.tree.append_column(Gtk.TreeViewColumn("Scale", self.normaliserenderer, active=1, activatable=2))
columnnames=["Name","Unit","min","mean","max","current"]
for i,column in enumerate(columnnames):
tcolumn = Gtk.TreeViewColumn(column,textrenderer,text=i+3,foreground=9)
self.tree.append_column(tcolumn)
for plotsignal in self.Plotsignals:
self.signalstore.append([plotsignal.plotenable, plotsignal.plotnormalise, True, plotsignal.name, convert_to_si(plotsignal.unit)[0], '0', '0', '0', '0', plotsignal.plotcolor])
self.tree.set_model(self.signalstore)
示例6: _init_renderers
# 需要导入模块: from gi.repository import Gtk [as 别名]
# 或者: from gi.repository.Gtk import TreeViewColumn [as 别名]
def _init_renderers(self):
"""Initializes the cell renderers"""
# We hide the columns headers
self.set_headers_visible(False)
# For the backend icon
pixbuf_cell = Gtk.CellRendererPixbuf()
tvcolumn_pixbuf = Gtk.TreeViewColumn('Icon', pixbuf_cell)
tvcolumn_pixbuf.add_attribute(pixbuf_cell, 'pixbuf', self.COLUMN_ICON)
self.append_column(tvcolumn_pixbuf)
# For the backend name
text_cell = Gtk.CellRendererText()
tvcolumn_text = Gtk.TreeViewColumn('Name', text_cell)
tvcolumn_text.add_attribute(text_cell, 'markup', self.COLUMN_TEXT)
self.append_column(tvcolumn_text)
text_cell.connect('edited', self.cell_edited_callback)
text_cell.set_property('editable', True)
# For the backend tags
tags_cell = Gtk.CellRendererText()
tvcolumn_tags = Gtk.TreeViewColumn('Tags', tags_cell)
tvcolumn_tags.add_attribute(tags_cell, 'markup', self.COLUMN_TAGS)
self.append_column(tvcolumn_tags)
示例7: create_treeview
# 需要导入模块: from gi.repository import Gtk [as 别名]
# 或者: from gi.repository.Gtk import TreeViewColumn [as 别名]
def create_treeview(self):
"""
Creates the viewport and adds it to the dialog window.
The parsing dialog displays the parsing results in a TreeView.
This requires setting up a TreeStore that has enough columns for a
typical file to be imported. The TreeViewColumns are set up for text
and appended to the TreeView. The TreeView is then added to to
the ScrolledWindow defined in Glade.
"""
self.store = Gtk.ListStore(str, str, str, str, str, str, str, str)
self.view = Gtk.TreeView(self.store)
for x in range(8):
renderer = Gtk.CellRendererText()
column = Gtk.TreeViewColumn(str(x), renderer, text=x)
column.set_alignment(0.5)
column.set_expand(True)
self.view.append_column(column)
self.scr_win.add(self.view)
self.dialog.show_all()
示例8: make_column_title_elllipsable
# 需要导入模块: from gi.repository import Gtk [as 别名]
# 或者: from gi.repository.Gtk import TreeViewColumn [as 别名]
def make_column_title_elllipsable(column, title=None, tooltip=None):
"""Replaces the column title widget with a similar title widget allowing to be ellipsized
:param Gtk.TreeViewColumn column: The column to be modified
:param str title: Optional new title, if not set, the current title will be used
:param str tooltip: Optional tooltip, if not set, no tooltip will be set
"""
title = title or column.get_title()
label = Gtk.Label(label=title)
if tooltip:
label.set_tooltip_text(tooltip)
label.set_ellipsize(Pango.EllipsizeMode.END)
label.set_width_chars(1)
label.show()
column.set_widget(label)
column.set_expand(True)
示例9: __init__
# 需要导入模块: from gi.repository import Gtk [as 别名]
# 或者: from gi.repository.Gtk import TreeViewColumn [as 别名]
def __init__(self):
super(SemanticDataEditorView, self).__init__()
self.scrollbar_widget = self['semantic_data_scroller']
self['delete_entry'].set_border_width(constants.BUTTON_BORDER_WIDTH)
self['new_dict_entry'].set_border_width(constants.BUTTON_BORDER_WIDTH)
self['new_entry'].set_border_width(constants.BUTTON_BORDER_WIDTH)
tree_view = self["semantic_data_tree_view"]
# prepare tree view columns
key_renderer = Gtk.CellRendererText()
key_renderer.set_property('editable', True)
col = Gtk.TreeViewColumn('Key', key_renderer, text=self.KEY_STORAGE_ID)
tree_view.append_column(col)
value_renderer = Gtk.CellRendererText()
value_renderer.set_property('editable', True)
col = Gtk.TreeViewColumn('Value', value_renderer, text=self.VALUE_STORAGE_ID)
tree_view.append_column(col)
is_dict_renderer = Gtk.CellRendererText()
col = Gtk.TreeViewColumn('Is Dict', is_dict_renderer, text=self.IS_DICT_STORAGE_ID)
tree_view.append_column(col)
gui_helper_label.ellipsize_labels_recursively(self['semantic_data_toolbar'])
示例10: __init__
# 需要导入模块: from gi.repository import Gtk [as 别名]
# 或者: from gi.repository.Gtk import TreeViewColumn [as 别名]
def __init__(self):
View.__init__(self)
Gtk.TreeView.__init__(self)
foreground = 5
tvcolumn = Gtk.TreeViewColumn('Nr', Gtk.CellRendererText(), text=1, foreground=foreground)
tvcolumn.set_property("sizing", Gtk.TreeViewColumnSizing.AUTOSIZE)
self.append_column(tvcolumn)
tvcolumn = Gtk.TreeViewColumn('Action', Gtk.CellRendererText(), text=2, foreground=foreground)
tvcolumn.set_property("sizing", Gtk.TreeViewColumnSizing.AUTOSIZE)
self.append_column(tvcolumn)
tvcolumn = Gtk.TreeViewColumn('Parameters', Gtk.CellRendererText(), text=7, foreground=foreground)
tvcolumn.set_property("sizing", Gtk.TreeViewColumnSizing.AUTOSIZE)
self.append_column(tvcolumn)
tvcolumn = Gtk.TreeViewColumn('Affects', Gtk.CellRendererText(), text=3, foreground=foreground)
tvcolumn.set_property("sizing", Gtk.TreeViewColumnSizing.AUTOSIZE)
# tvcolumn.set_min_width(150)
self.append_column(tvcolumn)
self['history_treeview'] = self
self.top = 'history_treeview'
示例11: _default_value_cell_data_func
# 需要导入模块: from gi.repository import Gtk [as 别名]
# 或者: from gi.repository.Gtk import TreeViewColumn [as 别名]
def _default_value_cell_data_func(self, tree_view_column, cell, model, iter, data=None):
"""Function set renderer properties for every single cell independently
The function controls the editable and color scheme for every cell in the default value column according
the use_runtime_value flag and whether the state is a library state.
:param tree_view_column: the Gtk.TreeViewColumn to be rendered
:param cell: the current CellRenderer
:param model: the Gtk.ListStore or TreeStore that is the model for TreeView
:param iter: an iterator over the rows of the TreeStore/Gtk.ListStore Model
:param data: optional data to be passed: see http://dumbmatter.com/2012/02/some-notes-on-porting-from-pygtk-to-pygobject/
"""
if isinstance(self.model.state, LibraryState):
use_runtime_value = model.get_value(iter, self.USE_RUNTIME_VALUE_STORAGE_ID)
if use_runtime_value:
cell.set_property("editable", True)
cell.set_property('text', model.get_value(iter, self.RUNTIME_VALUE_STORAGE_ID))
cell.set_property('foreground', "white")
else:
cell.set_property("editable", False)
cell.set_property('text', model.get_value(iter, self.DEFAULT_VALUE_STORAGE_ID))
cell.set_property('foreground', "dark grey")
return
示例12: _activate
# 需要导入模块: from gi.repository import Gtk [as 别名]
# 或者: from gi.repository.Gtk import TreeViewColumn [as 别名]
def _activate(self, treeview, path, column):
"""Enter the completion text of the treeview into the commandline.
Args:
treeview: TreeView that was activated.
path: Activated TreePath.
column: Activated TreeViewColumn.
"""
if treeview:
count = path.get_indices()[0]
self._app["commandline"].grab_focus()
else:
count = self._tab_position
comp_type = self._get_comp_type()
row = self._liststores[comp_type][1][count]
self._app["commandline"].set_text(":" + self._prefixed_digits + row[0])
self._app["commandline"].set_position(-1)
示例13: _search_service
# 需要导入模块: from gi.repository import Gtk [as 别名]
# 或者: from gi.repository.Gtk import TreeViewColumn [as 别名]
def _search_service(self, widget):
# search an host in hostlist and hint it
# get the search value
keyword = self.services_search.get_text()
result = ""
row = 0
for service in self.servicestree.get_model():
if keyword in service[0]:
break
row += 1
# hint the result row
self.servicestree.row_activated(Gtk.TreePath.new_from_string(str(row)), Gtk.TreeViewColumn(None))
self.servicestree.set_cursor(Gtk.TreePath.new_from_string(str(row)))
示例14: _search_host
# 需要导入模块: from gi.repository import Gtk [as 别名]
# 或者: from gi.repository.Gtk import TreeViewColumn [as 别名]
def _search_host(self, widget):
# search an host in hostlist and hint it
# get the search value
keyword = self.host_search.get_text()
result = ""
row = 0
for host in self.hosttree.get_model():
if keyword in host[1]:
break
row += 1
# hint the result row
self.hosttree.row_activated(Gtk.TreePath.new_from_string(str(row)), Gtk.TreeViewColumn(None))
self.hosttree.set_cursor(Gtk.TreePath.new_from_string(str(row)))
示例15: __init__
# 需要导入模块: from gi.repository import Gtk [as 别名]
# 或者: from gi.repository.Gtk import TreeViewColumn [as 别名]
def __init__(self, database, host, *args, **kwargs):
super(PortsTree, self).__init__(*args, **kwargs)
""" Single host ports treeview class """
self.set_model(Gtk.ListStore(GdkPixbuf.Pixbuf, int, str, str, str, str, str, int))
self.port_liststore = self.get_model()
for i, column_title in enumerate(["#","Port", "State", "Type", "Service", "Banner", "Fingerprint"]):
if i == 0:
renderer = Gtk.CellRendererPixbuf()
column = Gtk.TreeViewColumn(column_title, renderer, pixbuf=0)
else:
renderer = Gtk.CellRendererText()
column = Gtk.TreeViewColumn(column_title, renderer, text=i)
self.append_column(column)
self.show_all()
self.database = database
self.host = host
self.refresh(self.database, self.host)