📜  PyQt5 QCommandLinkButton – 移除动作对象

📅  最后修改于: 2022-05-13 01:55:06.704000             🧑  作者: Mango

PyQt5 QCommandLinkButton – 移除动作对象

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

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

下面是实现

# 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())

输出 :