Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Please allow me to answer the question myself (in parts). First of all one has to understand that Qt itself is build very much around its own signal and slot concept. Therefore, one cannot expect a "real time" update of a QTextView since adding text to it (might it be by a text cursor or a simple append) just triggers a signal. So whatever you do when you have just one thread, all you do is to trigger the signals for updating your widgets. The corresponding slots will be processed with a much lower priority and therefore after the blocking worker routine finishes. All this can be alleviated by calling QCoreApplication::processEvents() as pointed out in the comments by Idan K. This enforces the sequential processing of all unprocessed events and returns afterwards. Using this function QTextEdit can be used as a "real time" output-console. However, as pointed out by Idan and Greg the best solution uses a separate worker thread, emitting signals to the GUI thread. Since these are separate threads the GUI can process the corresponding slots while the worker continues to run. So the output in theory might be a bit delayed wrt. to the above solution but the whole app will remain responsive. </p> <p>Also I want to add that my problems using QThread together with mono where solved by creating the global app-domain outside of thethread and using mono_thread_attach() as suggested <a href="http://www.mono-project.com/Embedding_Mono" rel="nofollow noreferrer">here</a>. It works well on both Mac OS X and Windows 7.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload