是否可以在QT5 / pyqt5中创建标签/令牌输入?
我正在创建GUI应用程序,用户可以在其中存储图像/照片并添加标签。特定标签已经存在于数据库中,用户应该能够从现有标签中进行选择(或在需要时创建新标签)。 可以说: 图片1标签: (云),(树),(山),路
用户从数据库中选择了前2个标签,并添加了不在数据库中的“道路”。
当前,我可以使用仅添加到QLineEdit的数据库数据创建并填充QComboBox,稍后我可以通过格式化文本来对其进行处理。但是,使用类似标签/令牌输入(如附件图像中的完全)这样的方式会更方便:
QT是否开箱即用,还是应该为自定义小部件中的每个文本创建图形图标?
答案 0 :(得分:0)
是的,有可能。我对这样的小部件here有一个幼稚的实现。尚未完成,但已实现了关键功能。
因此,该实现基于QTextLayout
类。完整的令牌保留为类成员,并以paintEvent
方法进行绘制。当前编辑令牌已用QTextLayout
对象绘制。光标也涂有QTextLayout
对象。用户按键的操作以keyPressEvent
处理(键入,导航)。小部件还具有一个完成器。这是核心思想,有关更多详细信息,请观察代码。
有很多工作要做:可自定义的外观,对策略进行标记化,单击交叉删除等。但是它可以用于您自己的目的或用作您自己的小部件的起点。
QLineEdit
的实施对我很有帮助。