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