这个答案不对,python3对应的pyqt,已经没有这个方法了
时间: 2023-08-21 09:02:52 浏览: 50
非常抱歉,我的回答已经过时了。在PyQt5中,使用`QLabel`中的`setTextInteractionFlags`方法来设置标签的交互标志,以使其可选中。下面是一个示例:
```python
import sys
from PyQt5.QtWidgets import QApplication, QLabel, QWidget
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.label = QLabel('This is a selectable QLabel.', self)
self.label.setGeometry(50, 50, 200, 50)
self.label.setFrameStyle(QLabel.Panel | QLabel.Sunken)
self.label.setAlignment(Qt.AlignCenter)
self.label.setWordWrap(True) # 设置自动换行
self.label.setTextInteractionFlags(Qt.TextSelectableByMouse) # 设置为可选中
self.label.linkActivated.connect(self.linkClicked) # 添加链接被点击的事件
self.setGeometry(300, 300, 300, 150)
self.setWindowTitle('Selectable QLabel')
self.show()
def linkClicked(self, link):
print("Link clicked:", link)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
在这个例子中,我们使用`setTextInteractionFlags`方法将`Qt.TextSelectableByMouse`标志设置为`QLabel`。这使得文本可以由鼠标选择。请注意,这个方法也可以设置其他交互标志,例如允许用户单击链接或使用鼠标滚轮滚动文本。