【发布时间】:2021-04-14 14:20:02
【问题描述】:
如何使标签文本被勾勒出来(以便在透明 Widget 上获得更好的可见性)并适合标签(根据函数 setWordWrap (True)?有一些示例说明如何做一个或另一个,但从不两者兼而有之。
透明小部件上的静态标签文本的基本示例是:
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class Application(QWidget):
def __init__(self):
super().__init__()
screen_size = QWidget.screen(self).size()
screen_width = screen_size.width()
screen_height = screen_size.height()
widget_width = screen_width * 0.30
self.setGeometry(100, 100, widget_width, screen_height)
self.move(screen_width - widget_width, 0)
self.setAttribute(Qt.WA_TransparentForMouseEvents)
self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint
| Qt.CustomizeWindowHint | Qt.Window)
l1 = QLabel(self)
l1.setWordWrap(True)
l1.setGeometry(0, 0, widget_width, screen_height)
l1.setFont(QFont('Arial', 22))
l1.setStyleSheet('color:rgb(0,255,0)')
l1.setText('Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello')
def render_the_app():
app = QApplication(sys.argv)
window = Application()
window.setAttribute(Qt.WA_TranslucentBackground)
window.show()
app.exec_()
render_the_app()
【问题讨论】:
-
感谢@eyllanesc 编辑问题。对于同样的错误,我深表歉意,但我不知道如何让这张图片看起来像你做的那样漂亮
-
注意:我建议您不要再做同样的事情(重新发布相同的帖子),因为系统可能会阻止创建帖子的能力。
-
知道了。由于作者和审稿人之间的交流有限——我仍然不知道其他 [已关闭] 帖子会发生什么,以及是否有人会重新打开。我进行了编辑并使其简短明了。与我在 SO 上看到的许多其他帖子相比,我觉得在编辑后我的帖子至少足够好,并且比许多帖子好。但是我看不到是不是有人审核了还是觉得不好,或者没有人再审核了,我需要等待更长的时间。
-
您多久之前改进了您的帖子?最多一天,你认为那是很长的时间吗?不,所以你必须学会更有耐心。如果您不想耐心等待,请从头开始分析您的帖子,以免最终关闭。建议想发帖的人花点时间写(小时),分析自己是否符合本站规则。
-
@eyllanesc 这很公平。第一篇文章的审核速度给我留下了深刻的印象(15-20 分钟内),所以在编辑后 12 个多小时后,我开始感到紧张。您也知道,如果您沉迷于某个想法但找不到解决方案 - 您可能会失去耐心。这不是借口,我会从中吸取教训。感谢您的反馈
标签: python pyqt qlabel outline