QPushButton是一个常用的按钮控件,用于触发各种操作。QFocusFrame是一个用于显示焦点的控件,通常用于将焦点框显示在QWidget周围。
QPushButton的常用方法和信号包括:
-
setText():设置按钮的文本内容。
-
setIcon():设置按钮的图标。
-
setCheckable():设置按钮是否可选中。
-
isChecked():返回按钮是否被选中。
-
clicked():按钮被点击时发出的信号。
QFocusFrame的常用方法和信号包括:
-
setWidget():设置焦点框所关联的QWidget。
-
setFrameShadow():设置焦点框的阴影样式。
-
focusInEvent():焦点框获得焦点时触发的事件。
-
focusOutEvent():焦点框失去焦点时触发的事件。
使用QPushButton和QFocusFrame的示例代码如下:
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QFocusFrame class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Button and Focus Frame Example") self.button = QPushButton("Click me", self) self.button.setGeometry(50, 50, 100, 50) self.button.clicked.connect(self.buttonClicked) self.focusFrame = QFocusFrame(self) self.focusFrame.setWidget(self.button) self.focusFrame.setGeometry(45, 45, 110, 60) self.focusFrame.focusInEvent = self.focusInEvent self.focusFrame.focusOutEvent = self.focusOutEvent def buttonClicked(self): print("Button clicked") def focusInEvent(self, event): print("Focus in") def focusOutEvent(self, event): print("Focus out") if __name__ == "__main__": app = QApplication([]) window = MainWindow() window.show() app.exec_()
该示例创建了一个主窗口,其中包含一个QPushButton和一个QFocusFrame。当按钮被点击时,会打印出"Button clicked"。当焦点框获得或失去焦点时,会打印出"Focus in"或"Focus out"。