Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当QTableWidget正在使用数据更新时,如何更改QLineEdit的文本?_Qt_Qtablewidget_Qlineedit - Fatal编程技术网

当QTableWidget正在使用数据更新时,如何更改QLineEdit的文本?

当QTableWidget正在使用数据更新时,如何更改QLineEdit的文本?,qt,qtablewidget,qlineedit,Qt,Qtablewidget,Qlineedit,我正在创建一个Qt应用程序,其中有一个QTableWidget和一个QLineEdit。QTableWidget由包含大量数据的线程进行更新,这需要时间。不幸的是,在更新QTableWidget时,QLineEdit变为禁用。表示在更新QTableWidgit之前,用户无法更改QLineEdit中的文本。因此,我的问题是,在更新QTableWidget时,是否有一种方法可以让用户更改文本 这是主窗口截图。可能是因为主窗口是一个单线程,这就是为什么Qtablewidget会禁用其他任何东西 没有源

我正在创建一个Qt应用程序,其中有一个
QTableWidget
和一个
QLineEdit
QTableWidget
由包含大量数据的线程进行更新,这需要时间。不幸的是,在更新
QTableWidget
时,QLineEdit变为禁用。表示在更新
QTableWidgit
之前,用户无法更改
QLineEdit
中的文本。因此,我的问题是,在更新
QTableWidget
时,是否有一种方法可以让用户更改文本


这是主窗口截图。可能是因为主窗口是一个单线程,这就是为什么
Qtablewidget
会禁用其他任何东西

没有源代码很难说,但很简单:

QTableWidget不禁用QLineEdit

是您的代码禁用了QLineEdit,而不是Qt。简言之:

当QTableWidget被更新时,不要禁用QLineEdit


这是不可能回答这么少的信息。可能发生的情况是,由于插入的数量,QTableWidget生成的事件太多。我无法理解为什么要从一个线程操作一个小部件。我添加了mainwindow的屏幕截图,可能是因为mainwindow是一个线程,这就是为什么qtablewidget在更新时会禁用其他小部件。我们需要的是代码。至少是与QTableWidget的连接,行和列的数据量,以及整个ui负责之前所需的时间。我添加了主窗口的屏幕截图。屏幕截图没有告诉我任何关于您自己代码的信息。我知道我没有禁用QLineEdit。可能是因为主窗口是一个单线程,这就是为什么qtablewidget在更新时会禁用其他所有小部件。因此,如果有办法将小部件放在不同的线程中,然后进行更新,那么可能可以工作。qtablewidget不会禁用任何东西,运行模型更新时,您的代码可能会运行很长时间,以致屏幕无法更新。