2

我正在编写一个 Qt 应用程序来进行一些计算。我想在我的项目中分离 2 个部分:与 GUI 相关的部分和负责计算的部分。你能推荐最好的方法吗?例子值得赞赏。


我的想法是在main.cpp文件中执行此操作:

int main(int argc, char *argv[])
{
    QApplication app(argc, argv); 

    MainWindow mw; // This is responsible for GUI
    mw.show();

    MainComputation mc; // This is responsible for calculations

    return app.exec();
}

我还需要在这两个部分之间建立联系。

4

2 回答 2

1

您可以创建一个带有 GUI 的库,另一个带有计算算法的库,并使用 QT 信号和插槽在它们之间交换数据。

于 2013-09-04T14:19:10.910 回答
1

您需要创建您的类,如此MainComputation所示(主要继承自,在您的类声明中包含宏并将一些方法标记为插槽)。QObjectQ_OBJECT

然后,您将需要在您的 GUI 元素信号(mouseClick、buttonPress 等...,检查每个小部件的可用信号)和您的MainComputation对象插槽实例之间连接信号和插槽。这是通过connect语句完成的。有点像这样

connect(mw.ui->btn,SIGNAL(clicked(bool)),&mc,SLOT(doSomething()));

qt docs上有一个简单的示例,其中包含大量信息。

于 2013-09-04T15:03:09.147 回答