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"。