【问题标题】:Does pyqt text edit has a font overline propertypyqt 文本编辑是否有字体上划线属性
【发布时间】:2018-01-04 19:18:39
【问题描述】:

我知道 PyQt QTextChar 格式有字体上划线属性但是 pyqt textedit

只有斜体、粗体和下划线。textEdit 字体是否存在上划线??

那么语法是什么?

【问题讨论】:

    标签: python-2.7 python-3.x pyqt pyqt4 pyqt5


    【解决方案1】:

    答案是肯定的,

    试试这样的:

    import sys
    from PyQt5.QtWidgets import QApplication
    from PyQt5.QtWidgets import QTextEdit
    from PyQt5.QtWidgets import QVBoxLayout
    from PyQt5.QtWidgets import QWidget
    
    
    class Widget(QWidget):
    
        def __init__(self):
            super(Widget, self).__init__()
            self.text_edit = QTextEdit("Overlining...")
            self.text_edit.setStyleSheet("""
                text-decoration: overline;
            """)
            self.layout = QVBoxLayout()
            self.setLayout(self.layout)
            self.layout.addWidget(self.text_edit)
    
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        wid = Widget()
        wid.show()
        sys.exit(app.exec_())
    

    你还有很多其他的propertiesexamples可以看看。


    还有其他一些方法,其中一种方法是不使用样式表,而是可以设置其qdocument 的“html”properties,如下所示:

    self.text_edit = QTextEdit()
    personalized_document = QTextDocument()
    personalized_document.set...#set all you need for example the overline you need.
    self.text_edit.setDocument(personalized_document)
    

    【讨论】:

    • 还有一件事。如何获取样式表的值。我的意思是在 QTextchar 格式中你会做一些类似 print formats.fontItalic()
    • 我不知道这是否正是您想要的,但在设置样式表后,您可以使用self.text_edit.styleSheet() 访问它所具有的属性,它会返回一个包含这些属性的字符串。或者你可以制作类似self.text_edit.font() 的东西,它会返回一个QFont 对象,从那里你可以拥有pointSize,以及来自QFont 的许多其他属性。不仅是QFont(),您还可以访问它的QColorQBrush 和许多其他人。它有帮助还是不是您愿意弄清楚的?
    猜你喜欢
    • 2011-05-06
    • 2013-02-11
    • 2013-08-22
    • 2015-02-18
    • 2011-10-23
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多