小编She*_*eto的帖子

Qt富文本中如何在span级别使用padding、margin等?

对于我的 QTextEdit,我想带来一些非常基本的嵌套突出显示,这是我在W3Schools“尝试一下!”上搞砸时制作的。看起来像这样。

“W3Schools”结果

据我所知,我只使用了Qt支持的 HTML 子集中的内容(请参阅下面代码中的 HTML,仅使用填充、边距和背景颜色)。

我无法获得类似的渲染,只有背景颜色似乎有效。

我创建了一个新项目,使用硬编码的 HTML/样式而不是我的程序生成进行简单的测试,但它仍然没有按应有的方式呈现。

这是代码。

import sys

from PySide6.QtWidgets import QApplication, QTextEdit, QMainWindow

app = QApplication(sys.argv)

test_window = QMainWindow()
test_text_edit = QTextEdit()

html = """
<!DOCTYPE html>
<html>
<head>
<style>
span.a {
  padding: 2px;
  margin: -2px;
  background-color: orange;
}
span.b {
  background-color: powderblue;
}
</style>
</head>
<body>
<div>volutpat. <span class="a">Aliquam <span class="b">venenatis</span> gravida</span> nisl</div>
</body>
</html>
"""
test_text_edit.setHtml(html)
test_window.setCentralWidget(test_text_edit)

test_window.show()

sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

这是结果,缺乏明显的样式,我是疯了还是根据文档看起来不应该基本相同?不缺少让“嵌套”更清晰的填充吗?

我的 QTextEdit 结果

看来边距问题并不未知,边距样式在qt富文本标签中没有效果,但也没有人回答这个问题。

有人知道任何修复/解决方法吗?或者在哪里将其记录为 Qt 的已知限制?

我如何使用pyqt5中的QTextEdit来显示html的所有样式(包括css的样式)也相关,但不是重复的,它只是指向它所遵循的CSS的文档,它没有涵盖为什么它不'不遵循,或者如何遵循它所说的遵循的标准。

html css python pyside pyside6

7
推荐指数
0
解决办法
849
查看次数

OOP:在一个类中为"实体"设置"动作"逻辑但在另一个类中调用它?

建立一个AI结构我在接口处遇到了一个紧急问题,对于平庸的评论感到抱歉:

//Probability is just a class I've made to represent (you guessed it) probability

public interface IAction
{
    /// <summary>
    /// Returns a Dictionary of possible future states of the IEntity parameter and their estimated probability
    /// </summary>
    Dictionary<IEntity, Probability> EstimatePossibleOutcomeSpectrum(IEntity entity);
    /// <summary>
    /// Have the IEntity parameter "do" this action
    /// </summary>
    void Do(IEntity entity);
}

public interface IEntity
{
}
Run Code Online (Sandbox Code Playgroud)

问题在于常识要求实体执行动作,而不是相反,显然我可以重命名方法,因此它具有语法意义,但最终我想将"Do"移动到IEntity中,但是当它涉及到实现接口我不知道如何让"实体"做"行动"而不是简单地"传递接力棒",具体如下:

public class EntityExample
{
    /// <summary>
    /// Returns a Dictionary of estimated future states after "doing" …
Run Code Online (Sandbox Code Playgroud)

c# oop artificial-intelligence

-1
推荐指数
1
解决办法
247
查看次数

标签 统计

artificial-intelligence ×1

c# ×1

css ×1

html ×1

oop ×1

pyside ×1

pyside6 ×1

python ×1