本文整理汇总了Python中qtpy.QtWidgets.QPushButton.setIcon方法的典型用法代码示例。如果您正苦于以下问题:Python QPushButton.setIcon方法的具体用法?Python QPushButton.setIcon怎么用?Python QPushButton.setIcon使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qtpy.QtWidgets.QPushButton
的用法示例。
在下文中一共展示了QPushButton.setIcon方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PlotNameWidget
# 需要导入模块: from qtpy.QtWidgets import QPushButton [as 别名]
# 或者: from qtpy.QtWidgets.QPushButton import setIcon [as 别名]
#.........这里部分代码省略.........
self.rename_button.toggled.connect(self.rename_button_toggled)
close_icon = get_icon('mdi.close')
self.close_button = QPushButton(close_icon, "")
self.close_button.setToolTip('Delete')
self.close_button.setFlat(True)
self.close_button.setMaximumWidth(self.close_button.iconSize().width() * 5 / 3)
self.close_button.clicked.connect(lambda: self.close_pressed(self.plot_number))
self.layout = QHBoxLayout()
# Get rid of the top and bottom margins - the button provides
# some natural margin anyway. Get rid of right margin and
# reduce spacing to get buttons closer together.
self.layout.setContentsMargins(5, 0, 0, 0)
self.layout.setSpacing(0)
self.layout.addWidget(self.line_edit)
self.layout.addWidget(self.hide_button)
self.layout.addWidget(self.rename_button)
self.layout.addWidget(self.close_button)
self.layout.sizeHint()
self.setLayout(self.layout)
def set_plot_name(self, new_name):
"""
Sets the internally stored and displayed plot name
:param new_name: The name to set
"""
self.line_edit.setText(new_name)
def close_pressed(self, plot_number):
"""
Close the plot with the given name
:param plot_number: The unique number in GlobalFigureManager
"""
self.presenter.close_single_plot(plot_number)
def rename_button_toggled(self, checked):
"""
If the rename button is pressed from being unchecked then
make the line edit item editable
:param checked: True if the rename toggle is now pressed
"""
if checked:
self.toggle_plot_name_editable(True, toggle_rename_button=False)
def toggle_plot_name_editable(self, editable, toggle_rename_button=True):
"""
Set the line edit item to be editable or not editable. If
editable move the cursor focus to the editable name and
highlight it all.
:param editable: If true make the plot name editable, else
make it read only
:param toggle_rename_button: If true also toggle the rename
button state
"""
self.line_edit.setReadOnly(not editable)
self.line_edit.setAttribute(Qt.WA_TransparentForMouseEvents, not editable)
# This is a sneaky way to avoid the issue of two calls to
# this toggle method, by effectively disabling the button
# press in edit mode.
self.rename_button.setAttribute(Qt.WA_TransparentForMouseEvents, editable)
if toggle_rename_button:
self.rename_button.setChecked(editable)
if editable:
self.line_edit.setFocus()
self.line_edit.selectAll()
else:
self.line_edit.setSelection(0, 0)
def toggle_visibility(self):
"""
Calls the presenter to hide the selected plot
"""
self.presenter.toggle_plot_visibility(self.plot_number)
def set_visibility_icon(self, is_shown):
"""
Change the widget icon between shown and hidden
:param is_shown: True if plot is shown, false if hidden
"""
if is_shown:
self.hide_button.setIcon(get_icon('mdi.eye'))
self.hide_button.setToolTip('Hide')
else:
self.hide_button.setIcon(get_icon('mdi.eye', 'lightgrey'))
self.hide_button.setToolTip('Show')
def rename_plot(self):
"""
Called when the editing is finished, gets the presenter to
do the real renaming of the plot
"""
self.presenter.rename_figure(self.plot_number, self.line_edit.text())
self.toggle_plot_name_editable(False)