在Qt上开发程序时,我注意到QTextEdit没有setValidator()方法,因此我必须自己实现一个。 这是我写的:

QRegExp textRegExp = QRegExp("[0-9a-fA-F]*");
QTextEdit *text = qobject_cast<QTextEdit*>(sender());
if (!textRegExp.exactMatch(text->toPlainText()))
    //undo the change

这是一个连接到QTextEdit类的所需对象的textChanged()的插槽。 问题是应该用什么代替评论? 我尝试了text->undo() ,但是它删除了所有文本,而我只需要撤消最后一个符号。 在Qt中甚至有可能吗?

  ask by Владислав Крутенко translate from so

本文未有回复,本站智能推荐:

1回复

QTableViewQStandardItemModel恢复或撤消用户输入

如何在QStandarItemModel弹出的QTableView上撤消或恢复用户条目? 我已将dataChanged信号与处理程序连接,我在其中验证数据... ...但是如果用户输入错误,我想将用户条目恢复或撤消到项目的先前值。 我已经阅读了从QAbstractItemModel继
1回复

专注于Qtreewidget上的最后一个数据输入

我正在尝试将Qtreewidget用作listview(例如在C#中)以显示一些数据。 如下图所示,虽然在运行时显示了新数据,但该小部件并不专注于最后一个条目,这就是我想要的,但是找不到一种方法可以使其专注于最后一个条目。 换句话说,我希望将其向下滚动到最后一个条目。 有什么办法可以做到这
2回复

我的线程无法正常工作,它不能提供所有结果,最后在线程运行过程中最后没有一个一个地挂起GUI?

我想在用户选择的特定位置按名称搜索文件。 我一收到文件就想要。 必须将其并行放置在QTreeWidget中并显示QMovie(“:/ images / img_searching.gif”),直到用户停止搜索为止。 ThreadSearch.h ThreadSearch.cpp
1回复

QML使用具有多行文本的Flow中最后一行的剩余宽度

在QML中,我想将一些文本放入有限的空间中。 此文本包含本地化,静态和可变部分(文件名)。 可变部分可能太长而无法适应我所拥有的空间,如果发生这种情况,应该省略它。 允许第一部分换行到新行并且本地化可能会这样做。 我现在的问题如下:两个文本都在Flow容器中,目的是将文件名附加到静态文
1回复

撤消setFlagsItemIsUserCheckable

我创建了一个QListWidget,我想让它的元素只能在应用程序的特定位置检查(我需要它用于特定的应用程序,用户在点击它时选择列表中的主要元素,然后选中辅助元素,同时检查它们的框)。 我可以使元素可以检查,但我找不到解决方法来撤消这个并删除复选框...我这样做: 但后来我挣扎......我
1回复

Qt撤消/重做和线程

在我的MDI应用程序中,我使用Qt撤消/重做框架,并且效果很好。 现在,我实现了一个需要很多时间的操作,因此我想在另一个线程中运行它,以便不冻结应用程序,并且用户可以同时在其他MDI窗口上工作。 因此,我必须在QUndoCommand的redo()方法内的新线程中运行该操作。 这是一个
1回复

PyQt5QDateEdit()撤消

在酒店预订系统中,我有几个QDateEdit字段映射到表单中的数据库记录。 用户更新这些字段中的任何一个之后,程序都会进行检查以确保房间可用。 如果房间不可用,我想将QDateEdit恢复为原始值,并通过QMessageBox告知用户。 QLineEdit有一个撤消方法,它可以按我的预期
1回复

Qtreewidget-撤消选择更改

在wx-widget中,我们可以通过调用VETO()来撤消任何事件。 在这里,我正在进行QT中的第一个GUI。 我创建了一个new节点test case 3 。 现在我希望只允许更改树上的选择,直到我没有保存这个新节点。 如果我没有至少保存一次此节点,则选择更改应恢复为此未保存的节点