tmd*_*dag 5 python qt qt5 pyqt5
是否可以在 QT5/pyqt5 中创建标签/令牌输入?
我正在创建 gui 应用程序,用户可以在其中存储图像/照片并添加标签。特定标签已存在于数据库中,用户应该能够从现有标签中进行选择(或根据需要创建新标签)。让我们说:图像 1 标签:(云)、(树)、(山)、道路
用户从数据库中选择了前 2 个标签,并添加了数据库中没有的“道路”。
目前,我可以使用数据库数据创建和填充 QComboBox,这些数据只会附加到 QLineEdit,稍后我可以通过格式化文本来处理它。但如果有标签/令牌输入之类的东西会更方便(就像附图中一样):
QT 是否有类似的开箱即用的东西,或者我应该为自定义小部件中的每个文本创建图形图标?
对的,这是可能的。我在这里有一个这样的小部件的简单实现。它还没有完成,但关键功能已经实现。
\n\n所以,实现是基于QTextLayout类的。\xd0\xa1 完成的标记保留为类成员并在paintEvent方法中绘制。\xd0\xa1当前编辑标记是用QTextLayout对象绘制的。光标也用对象绘制QTextLayout。用户按键处理在keyPressEvent(打字、导航)中处理。该小部件还有一个完成器。这就是核心思想,更多细节请观察代码。
有很多工作要做:可定制的外观、标记化策略、通过点击十字删除等。但它可以用于您自己的目的或作为您自己的小部件的起点。
\n\n实施QLineEdit对我非常有帮助。
| 归档时间: |
|
| 查看次数: |
1630 次 |
| 最近记录: |