PyQt5 QCommandLinkButton – Eliminar objeto de acción

En este artículo veremos cómo podemos eliminar la acción del QCommandLinkButton. Por defecto, los botones de enlace de comando tienen una lista de acciones vacía, es decir, no hay ningún elemento en la lista de acciones, aunque al agregar una acción al menú del botón de enlace de comando podemos agregar elementos en la lista de acciones. Usamos addActionun addActionsmétodo para agregar acciones simples y múltiples al mismo tiempo.

Para hacer esto, usamos removeActionel método con el objeto de botón de enlace de comando

Sintaxis: button.removeAction(acción)

Argumento: toma el objeto QAction como argumento

Retorno : No devuelven Ninguno

A continuación se muestra la implementación.

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

Producción :

Publicación traducida automáticamente

Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *