我有一个QPushButton,会在点击时打开新窗口。
void showNewWindow()
{
PopupWindow *popup = new PopupWindow();
popup->show();
}
PopupWindow声明如下:
class PopupWindow : public QWidget {
Q_OBJECT
public:
PopupWindow(QWidget* parent);
void setContent(QString content) { this->content = content; }
QString getContent() { return content; }
private:
QString content;
private slots:
void handleContinue();
void handleRunToEnd();
};
然后我实现了它的构造函数:
PopupWindow::PopupWindow(QWidget *parent):QWidget(parent)
{
QHBoxLayout *hlayout = new QHBoxLayout();
QWidget *buttonWidget = new QWidget();
QPushButton *btnContinue = new QPushButton();
btnContinue->setText("Continue");
QPushButton *btnRunEnd = new QPushButton();
btnRunEnd->setText("Run till completion");
buttonWidget->setLayout(hlayout);
hlayout->addWidget(btnContinue);
hlayout->addWidget(btnRunEnd);
connect(btnContinue,SIGNAL(clicked()), this, SLOT(handleContinue()));
connect(btnRunEnd,SIGNAL(clicked()), this, SLOT(handleRunToEnd()));
QTextEdit *html = new QTextEdit();
html->setReadOnly(true);
html->setText("AAAA");
QVBoxLayout *layout = new QVBoxLayout();
this->setLayout(layout);
layout->addWidget(html);
layout->addWidget(buttonWidget);
}
我的问题:每当我点击Popup Window上的“Continue”或“Run until completion”按钮时。该应用程序崩溃了。我可以看到错误如下:
QApplication:对象事件过滤器不能在不同的线程中。
QApplication:对象事件过滤器不能在不同的线程中。
QApplication:对象事件过滤器不能在不同的线程中。
QWidget :: repaint:检测到递归重绘
请帮我解决这个问题。