Python 3.6 PYQT 5.12.1
Я готов показать нужный мне стиль с помощью pyqt5, и я знал, что QTextEdit в pyqt5 может отображать HTML-код довольно хорошо (у меня есть некоторый опыт в веб-разработке)поэтому я решил использовать html / css, чтобы показать свой стиль.Тем не менее, это может иметь некоторые проблемы при отображении кода в CSS.Что я могу сделать, чтобы он мог показать css / javascript?Если нет, можете порекомендовать другие методы для изменения стиля?
Может отображаться какой-то стиль, например width = "100" height = "100"
, когда я кодирую его в html, но не css, а некоторые не могут отображаться как border-radius:50%;
.Это не даст никакого эффекта, когда я кодирую стиль в CSS.Кстати, я импортировал код CSS.Код CSS ничего не делает в QTextEdit (но это нормально в html)
.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
class WINDOW(QMainWindow):
def __init__(self):
super().__init__()
self.init()
def init(self):
w_width,w_height,w_x,w_y = 700,640,700,200
self.set_size_pos(w_width,w_height,w_x,w_y);
self.set_message_textedit()
self.message_textedit.setHtml(self.get_html())
self.show()
def set_size_pos(self,width,height,x,y):
'''
set window's width , height and position
'''
self.resize(width,height)
self.move(x,y)
def set_message_textedit(self):
self.message_textedit = QTextEdit(self)
self.message_textedit.setFont(QFont("Microsoft YaHei",12))
self.message_textedit.resize(680,420)
self.message_textedit.move(10,50)
self.message_textedit.setReadOnly(True)
def get_html(self):
html = ""
with open("./chat-style/chat.html","r",encoding = "utf-8") as f:
html = f.read()
return html
if __name__ == '__main__':
app = QApplication(sys.argv)
test = WINDOW()
sys.exit(app.exec_())
.html
<!doctype html>
<html lange="zh-CN">
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="./chat.css">
<script src = "chat.js"></script>
</head>
<body>
<img class = "tx" src="E:\study\assiataant\picture\icon.jpg">
<div>Welcome ~ Don!</div>
</body>
</html>
.css
.tx
{
border-radius:50%;
width: 30;
height: 30;
}