2017-09-21 50 views
0

我有一個Qt4.8 QWidget的與產生Ui_文件應用程序崩潰的僅在MacOS上QLineEdit的consturctor

class QMyWidget: public QWidget 
{ 
Q_OBJECT 
public: 
    Ui_MyGeneratedUi ui; 
    ... 
} 

它工作正常,在Windows和Linux,但是當我嘗試

QMyWidget() { 
    > ui.setupUi(this); 
    ... 
} 

在MacOS(10.12)我的應用程序崩潰堆棧跟蹤看起來像thisthis。用戶界面似乎沒有什麼特別可疑的。此外,我的應用程序中還有許多其他的QWidgets,生成的UI和QLineEdit也可以在MacOS上很好地工作。

提到的錯誤已關閉,似乎在Qt5中進行了修改,但我不知道這些崩潰的原因是什麼以及是否有任何解決方法。

回答

0

這個bug非常神祕。在我的情況下,它是由與內部兩個父母和孩子的QWidget幾個QLabels這是隻要我取而代之的是實際的按鈕都開始工作作爲按鈕

QLabel* sample = new QLabel("<a href=\"dothething\">Do thing</a>", ui.protoarea); 
QObject::connect(
     sample, SIGNAL(linkActivated(QString)), 
     this, SLOT(add_clicked(QString)) 
); 

觸發。在邏輯上似乎有一個小故障,哪個元素應該專注於添加新的小部件。