PyQt5 QCalendarWidget – Comprobando si es una ventana activa o no

En este artículo, veremos cómo podemos verificar si QCalendarWidget es una ventana activa. Una ventana activa es una ventana visible de nivel superior que tiene el foco de entrada del teclado. Al convertirlo en una ventana activa, el widget de nivel superior que contiene este calendario se establecerá como la ventana activa. Podemos convertirla en una ventana activa con la ayuda del método activateWindow.
Nota: este método debe llamarse fuera de la clase de la ventana principal; de lo contrario, siempre devolverá falso
 

Para hacer esto usaremos el método isActivateWindow con el objeto QCalendarWidget.
Sintaxis: calendar.isActivateWindow()
Argumento: No requiere argumento
Acción realizada: Devuelve bool 
 

A continuación se muestra la implementación. 
 

Python3

# 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, 600, 400)
 
        # calling method
        self.UiComponents()
 
        # showing all the widgets
        self.show()
 
    # method for components
    def UiComponents(self):
 
        # creating a QCalendarWidget object
        self.calendar = QCalendarWidget(self)
 
        # setting geometry to the calendar
        self.calendar.setGeometry(10, 10, 400, 250)
 
        # setting name
        self.calendar.setAccessibleName("Geek Calendar")
 
        # making it an active window
        self.calendar.activateWindow()
 
 
        # creating a label
        label = QLabel(self)
 
        # setting geometry to the label
        label.setGeometry(100, 280, 250, 60)
 
        # making label multi line
        label.setWordWrap(True)
 
        # checking active window
        value = self.calendar.isActiveWindow()
 
        # setting text to the label
        label.setText("Active Window(Checking inside the class) " + str(value))
 
 
# create pyqt5 app
App = QApplication(sys.argv)
 
# create the instance of our Window
window = Window()
 
# checking if active window
# outside the class
check = window.calendar.isActiveWindow()
print("Active window : " + str(check))
 
# start the app
sys.exit(App.exec())

Producción : 
 

Active window : True

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 *