本文整理汇总了Python中PyQt5.Qt.QTabWidget.tabBar方法的典型用法代码示例。如果您正苦于以下问题:Python QTabWidget.tabBar方法的具体用法?Python QTabWidget.tabBar怎么用?Python QTabWidget.tabBar使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.Qt.QTabWidget
的用法示例。
在下文中一共展示了QTabWidget.tabBar方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Editor
# 需要导入模块: from PyQt5.Qt import QTabWidget [as 别名]
# 或者: from PyQt5.Qt.QTabWidget import tabBar [as 别名]
#.........这里部分代码省略.........
ac = getattr(self.editor, 'action_'+x)
self.toolbar1.addAction(ac)
self.toolbar1.addSeparator()
self.toolbar1.addAction(self.editor.action_background)
# }}}
# toolbar2 {{{
for x in ('', 'un'):
ac = getattr(self.editor, 'action_%sordered_list'%x)
self.toolbar2.addAction(ac)
self.toolbar2.addSeparator()
for x in ('superscript', 'subscript', 'indent', 'outdent'):
self.toolbar2.addAction(getattr(self.editor, 'action_' + x))
if x in ('subscript', 'outdent'):
self.toolbar2.addSeparator()
self.toolbar2.addAction(self.editor.action_block_style)
w = self.toolbar2.widgetForAction(self.editor.action_block_style)
w.setPopupMode(w.InstantPopup)
self.toolbar2.addAction(self.editor.action_insert_link)
# }}}
# toolbar3 {{{
for x in ('bold', 'italic', 'underline', 'strikethrough'):
ac = getattr(self.editor, 'action_'+x)
self.toolbar3.addAction(ac)
self.toolbar3.addSeparator()
for x in ('left', 'center', 'right', 'justified'):
ac = getattr(self.editor, 'action_align_'+x)
self.toolbar3.addAction(ac)
self.toolbar3.addSeparator()
self.toolbar3.addAction(self.editor.action_color)
# }}}
self.code_edit.textChanged.connect(self.code_dirtied)
self.editor.page().contentsChanged.connect(self.wyswyg_dirtied)
def set_minimum_height_for_editor(self, val):
self.editor.setMinimumHeight(val)
@dynamic_property
def html(self):
def fset(self, v):
self.editor.html = v
def fget(self):
self.tabs.setCurrentIndex(0)
return self.editor.html
return property(fget=fget, fset=fset)
def change_tab(self, index):
# print 'reloading:', (index and self.wyswyg_dirty) or (not index and
# self.source_dirty)
if index == 1: # changing to code view
if self.wyswyg_dirty:
self.code_edit.setPlainText(self.editor.html)
self.wyswyg_dirty = False
elif index == 0: # changing to wyswyg
if self.source_dirty:
self.editor.html = unicode(self.code_edit.toPlainText())
self.source_dirty = False
@dynamic_property
def tab(self):
def fget(self):
return 'code' if self.tabs.currentWidget() is self.code_edit else 'wyswyg'
def fset(self, val):
self.tabs.setCurrentWidget(self.code_edit if val == 'code' else self.wyswyg)
return property(fget=fget, fset=fset)
def wyswyg_dirtied(self, *args):
self.wyswyg_dirty = True
def code_dirtied(self, *args):
self.source_dirty = True
def hide_toolbars(self):
self.toolbar1.setVisible(False)
self.toolbar2.setVisible(False)
self.toolbar3.setVisible(False)
def show_toolbars(self):
self.toolbar1.setVisible(True)
self.toolbar2.setVisible(True)
self.toolbar3.setVisible(True)
@dynamic_property
def toolbars_visible(self):
def fget(self):
return self.toolbar1.isVisible() or self.toolbar2.isVisible() or self.toolbar3.isVisible()
def fset(self, val):
getattr(self, ('show' if val else 'hide') + '_toolbars')()
return property(fget=fget, fset=fset)
def set_readonly(self, what):
self.editor.set_readonly(what)
def hide_tabs(self):
self.tabs.tabBar().setVisible(False)
示例2: MainWin
# 需要导入模块: from PyQt5.Qt import QTabWidget [as 别名]
# 或者: from PyQt5.Qt.QTabWidget import tabBar [as 别名]
class MainWin(QMainWindow):
""" It's a window, stores a TabWidget """
def __init__(self, parent=None):
super(MainWin, self).__init__(parent)
self.setWindowTitle("Eilat Browser")
# gc.set_debug(gc.DEBUG_LEAK)
self.last_closed = None
self.tab_widget = QTabWidget(self)
self.tab_widget.setTabBar(MidClickTabBar(self))
self.tab_widget.tabBar().setMovable(True)
self.tab_widget.setTabsClosable(True)
# the right side of the tab already has the space for
# a non-shown close button
self.tab_widget.setStyleSheet(
'QTabBar::tab {padding-top: 0px; padding-bottom: 0px; '
'padding-left: 0.3em;} '
'QTabBar::tab:selected {color: #00f;}')
# tabCloseRequested carries int (index of a tab)
self.tab_widget.tabCloseRequested.connect(self.del_tab)
self.setCentralWidget(self.tab_widget)
self.tooltip = NotifyLabel(parent=self)
def restore_last_closed():
""" One-use callback for QShortcut.
Opens a fresh new tab with the url address of the last tab closed
"""
if self.last_closed is not None:
url = self.last_closed
self.add_tab(url)
self.last_closed = None
def dump_gc():
""" prints sizes for large memory collectable objects """
objs = gc.get_objects()
pairs = [(str(k)[:80], type(k).__name__, sys.getsizeof(k))
for k in objs if sys.getsizeof(k) > 1024*4*5]
for pair in pairs:
print(pair)
def reload_disk_init():
""" transfer options.yaml and the css directory to global maps """
load_options()
load_css()
notify("reloaded disk config")
set_shortcuts([
("F9", self, dump_gc),
# reload configuration
("Ctrl+Shift+R", self, reload_disk_init),
# new tabs
("Ctrl+T", self, self.add_tab),
("Ctrl+Shift+T", self, partial(self.add_tab, scripting=True)),
("Y", self, self.new_tab_from_clipboard),
# movement
("M", self, self.inc_tab),
("N", self, partial(self.inc_tab, -1)),
("Ctrl+PgUp", self, partial(self.inc_tab, -1)),
("Ctrl+PgDown", self, self.inc_tab),
# destroy/undestroy
("U", self, restore_last_closed),
("Ctrl+W", self, self.del_tab),
("Ctrl+Q", self, self.finalize)
])
def new_tab_from_clipboard(self):
""" One-use callback for QShortcut.
Reads the content of the PRIMARY clipboard and navigates to it
on a new tab.
"""
url = clipboard()
if url is not None:
self.add_tab(url)
# aux. action (en register_actions)
def inc_tab(self, incby=1):
""" Takes the current tab index, modifies wrapping around,
and sets as current.
Afterwards the active tab has focus on its webkit area.
"""
if self.tab_widget.count() < 2:
return
idx = self.tab_widget.currentIndex()
idx += incby
if idx < 0:
idx = self.tab_widget.count()-1
elif idx >= self.tab_widget.count():
idx = 0
#.........这里部分代码省略.........