如何解决QPlainTextEdit设置圆角边框后不显示的问题?
解决QPlainTextEdit圆角边框不显示的问题
问题出在QPlainTextEdit的内部子控件(比如viewport、内部QTextEdit)会覆盖外部设置的边框样式,你需要在样式表里明确指定这些子控件的样式,让主控件的圆角边框能正常显示。
修改后的代码如下:
self.textbox = QPlainTextEdit() self.textbox.setStyleSheet(""" QPlainTextEdit { border: 2px solid; border-radius: 20px; padding: 10px; /* 可选,防止文本紧贴圆角边缘 */ } QPlainTextEdit QScrollArea { border: none; } QPlainTextEdit QTextEdit { background-color: transparent; border: none; } """)
关键说明:
- 给
QPlainTextEdit本身设置边框和圆角,添加内边距可以优化文本显示位置,避免文本直接贴在圆角边缘 - 隐藏内部
QScrollArea的边框,避免它和主控件边框产生冲突 - 把内部
QTextEdit的背景设为透明,这样主控件的圆角边框就不会被遮挡
内容的提问来源于stack exchange,提问作者rllysleepy
相关产品推荐
相关产品推荐

