新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

QT5控件-QPushButton和QFocusFrame(按钮和焦点框),qt5控件美化

发布时间:2023-09-12 07:50:11

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

QPushButton是一个经常使用的按钮控件,用于触发各种操作。QFocusFrame是一个用于显示焦点的控件,通经常使用于将焦点框显示在QWidget周围。
QPushButton的经常使用方法和信号包括:
- setText():设置按钮的文本内容。
- setIcon():设置按钮的图标。
- setCheckable():设置按钮是否是可选中。
- isChecked():返回按钮是否是被选中。
- clicked():按钮被点击时发出的信号。
QFocusFrame的经常使用方法和信号包括:
- setWidget():设置焦点框所关联的QWidget。
- setFrameShadow():设置焦点框的阴影样式。
- focusInEvent():焦点框取得焦点时触发的事件。
- focusOutEvent():焦点框失去焦点时触发的事件。
使用QPushButton和QFocusFrame的示例代码以下:
```python
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"。