温馨提示×

QT5控件-QPushButton和QFocusFrame(按钮和焦点框)

Qt5
小云
125
2023-09-12 06:56:40
栏目: 编程语言

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

0