Qlabel设置borderbottom不显示 qlabel怎么添加点击事件
时间: 2024-03-16 17:46:10 浏览: 105
如何给Qlabel添加clicked属性Demo
如果设置QLabel的border-bottom无法显示,可能是因为QLabel默认的边框不是透明的,可以尝试设置QLabel的边框为透明:
```python
label.setStyleSheet("QLabel{border-bottom: 1px solid blue; border-color: transparent;}")
```
对于QLabel的点击事件,可以通过设置QLabel的鼠标按下事件来实现:
```python
class MyLabel(QLabel):
def __init__(self, parent=None):
super().__init__(parent)
self.setText("<u>点击我弹出菜单</u>")
self.setAlignment(Qt.AlignCenter)
self.setContextMenuPolicy(Qt.CustomContextMenu)
self.customContextMenuRequested.connect(self.showMenu)
self.setStyleSheet("QLabel{border-bottom: 1px solid blue; border-color: transparent;}")
def mousePressEvent(self, event):
if event.button() == Qt.LeftButton:
print("左键点击了QLabel")
def showMenu(self, pos):
menu = QMenu(self)
action1 = QAction("菜单项1", self)
action2 = QAction("菜单项2", self)
menu.addAction(action1)
menu.addAction(action2)
menu.exec_(self.mapToGlobal(pos))
```
在上面的代码中,重写了QLabel的mousePressEvent()函数,当鼠标左键点击QLabel时,会输出一条信息。
阅读全文