PyQt5 QCommandLinkButton – 删除动作对象

PyQt5 QCommandLinkButton – 删除动作对象

在这篇文章中,我们将看到如何删除QCommandLinkButton的动作。默认情况下,命令链接按钮有一个空的动作列表,即动作列表中没有任何元素,尽管通过向命令链接按钮的菜单添加动作,我们可以在动作列表中添加元素。我们使用addAction和addActions方法来同时添加单个和多个动作。

为了做到这一点,我们使用命令链接按钮对象的removeAction方法。

语法: button.removeAction(action)

参数: 它需要QAction对象作为参数。

返回: 它们返回无。

下面是实现方法

# importing libraries
from PyQt5.QtWidgets import * 
from PyQt5 import QtCore, QtGui
from PyQt5.QtGui import * 
from PyQt5.QtCore import * 
import sys
  
class Window(QMainWindow):
  
    def __init__(self):
        super().__init__()
  
        # setting title
        self.setWindowTitle("Python ")
  
        # setting geometry
        self.setGeometry(100, 100, 500, 400)
  
        # calling method
        self.UiComponents()
  
        # showing all the widgets
        self.show()
  
  
    # method for components
    def UiComponents(self):
  
  
        # creating a command link button
        cl_button = QCommandLinkButton("Press", self)
  
        # setting geometry
        cl_button.setGeometry(200, 100, 150, 60)
  
        # QActions
        a = QAction("Next Geeks", self)
        b = QAction("Previous Geeks", self)
  
  
  
        # QMenu
        menu = QMenu()
  
        # adding actions to menu
        menu.addActions([a, b])
  
        # QAction
        c = QAction("Middle", self)
  
        # inserting action
        menu.insertAction(b, c)
  
        # setting menu to the button
        cl_button.setMenu(menu)
  
        # creating QAction object
        q = QAction("Action")
  
        # action to the button
        cl_button.addAction(q)
  
        # creating label
        label = QLabel("GeeksforGeeks", self)
  
        # setting label geometry
        label.setGeometry(50, 200, 300, 80)
  
        # making label multiline
        label.setWordWrap(True)
  
        # getting action list
        value = cl_button.actions()[1]
  
        # removing the second action
        cl_button.removeAction(value)
  
        # getting action list
        value = cl_button.actions()
  
        # setting text to the label
        label.setText("Actions List : " + str(value))
  
  
  
  
  
# create pyqt5 app
App = QApplication(sys.argv)
  
# create the instance of our Window
window = Window()
  
# start the app
sys.exit(App.exec())

输出 :

PyQt5 QCommandLinkButton - 删除动作对象

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

PyQt5 命令连接按钮控件QCommandLinkButton