qeventloop

    3熱度

    1回答

    我的Qt應用程序的主窗口是一個正常的QMainWindow子類。在那個窗口中,我有幾個按鈕;每個人都有其clicked信號連接自己的插槽,每個插槽創建一個不同的QDialog像這樣: void onButtonA_clicked() { MyADialog* dialog = new MyADialog(this); dialog->exec(); delete d

    2熱度

    1回答

    我正在實現一個使用3個線程(一個是GUI,一個是用於數據採集的TCP客戶端和一個用於計算的分析線程)的系統。 我很難處理任何一個異常。我現在正在嘗試解決的情況是,如果某些計算出錯,會發生什麼情況,我需要「凍結」系統。問題是,在某些情況下,我有數據在分析線程的事件循環中等待。我怎樣才能安全地清除這個隊列,而無需處理所有的事件(正如我所說的,出錯了,所以我不想再進行任何計算)。 有沒有辦法清除特定線程

    0熱度

    1回答

    我在qt標籤中顯示圖像。下面是我的代碼: void MyClass::onPushButtonClicked(QString myurl) { this->setCursor(Qt::WaitCursor); ui.qtImageLabel->clear(); qDebug()<<QTime::currentTime()<<"MyClass: onPushButto

    0熱度

    2回答

    我嘗試擴展在Ubuntu/Linux桌面下運行的Qt網絡支持的舊程序。經與這些庫LAN通信需要運行QEventLoop的.exec()真正開始工作(即:接受連接,接收,發送等) 問題 那麼這個問題是我不不知道這個事件循環在主程序中的位置,因爲我隱約知道它的設計,我更喜歡儘可能獨立的解決方案。 我的想法 我已經選中我不需要主QEventLoop,這是正常的,使一個又一個公正的網絡(即嵌套)。不幸的是

    0熱度

    1回答

    大家好! 我與QUdpSocket提供和readyRead信號工作的一個奇怪的問題,我可以說,它不工作,因爲我認爲, 我創建了一個QUdpSocket提供並將其綁定到某個端口時,readyRead信號連接到我的插槽,我讀了所有懸而未決的數據報如下 if(!udp_listener) { udp_listener = new QUdpSocket(this); connec

    0熱度

    1回答

    我已經創建了一個基於PyQt4的基於GUI的大型python程序。我希望該軟件包可以在IPython筆記本(Windows上的Python 2.7舊安裝),Jupyter筆記本(最近安裝了Anaconda的Python 3.5)以及在命令行上傳遞的Python程序中運行。我在Jupyter筆記本上運行代碼時遇到問題(請直接在底部查看)。 我模塊mymodule.py看起來是這樣的(極度簡化,許多其

    3熱度

    5回答

    //Example class class A : pubic QObject { Q_OBJECT void fun() { Timer::SingleShot(10, timerSlot); //rough code } public slot: void timerSlot(); } auto a = SharedPoi

    0熱度

    1回答

    我剛剛寫了一些基於QThread的代碼來執行大計算。爲了顯示進度,我需要打開一個QProgressDialog。該對話框是應用程序模式(使用open()),因爲我不想在計算過程中允許修改主窗口。該線程發出各種允許GUI和線程之間基於狀態機的通信的信號。 線程的工作對象發出的兩個信號是「進度」和「完成」。如果發出「進度」,我正在使用setValue()更新QProgressDialog。如果發出「完

    -1熱度

    1回答

    幾天後我有情況,我不得不檢查/取消選中QRadioButton for循環。這裏是鏈接Waiting in for loop until QRadioButton get checked everytime? 對此執行QEventLoop之後,它一直運行良好,直到今天。現在我已經看到了我的QRadioButton(通過)按鈕允許我點擊它,但不是第二個QRadioButton(失敗)。 失敗QRad

    2熱度

    2回答

    我現在使用QFileDialog::getOpenFileName。但是,如this article中所建議的那樣,當對話框打開時主應用程序關閉時會崩潰。你可以看到如何在這裏重現崩潰的例子: int main(int argc, char **argv) { QApplication application{argc, argv}; QMainWindow *main_win