提供Qt 官方文档中的示例代码。
时间: 2023-05-11 21:07:17 浏览: 63
以下是Qt官方文档中的示例代码:
```cpp
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton button("Hello world !");
button.show();
return app.exec();
}
```
这是一个简单的Qt程序,它创建了一个按钮并显示在屏幕上。
相关问题
qt多线程官方示例代码
下面是Qt官方文档中提供的一个简单的多线程示例代码,使用QThread类和moveToThread()函数实现:
```cpp
#include <QThread>
#include <QDebug>
class Worker : public QObject
{
Q_OBJECT
public slots:
void doWork() {
for (int i = 0; i < 100; ++i) {
qDebug() << "Working" << i;
}
}
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Worker worker;
QThread thread;
worker.moveToThread(&thread);
QObject::connect(&thread, &QThread::started, &worker, &Worker::doWork);
thread.start();
return a.exec();
}
#include "main.moc"
```
在这个例子中,我们创建了一个名为Worker的QObject子类,并在其中定义了一个名为doWork()的槽函数。在main函数中,我们创建了一个Worker对象worker,并将其移动到一个名为thread的QThread对象中。我们还使用QObject::connect()函数将thread的started()信号与worker的doWork()槽函数连接起来,这意味着当线程启动时,doWork()槽函数将被调用。
最后,我们调用thread的start()函数启动线程,并让程序进入Qt主事件循环(a.exec())。在doWork()函数中,我们简单地打印出了一些文本,以模拟一个耗时的任务。注意,由于doWork()函数运行在一个单独的线程中,它可以与主线程并行执行,而不会阻塞主线程。
安卓调用qt .so示例代码
以下是一个简单的示例代码,演示如何在安卓应用程序中调用 Qt .so 库:
1. 在 Qt Creator 中创建一个 Qt 库项目,并在.pro 文件中添加以下行:
```qmake
android {
LIBS += -L$$PWD -lmyqtlib
}
```
这将在生成的 Android.mk 文件中添加必要的库信息。
2. 在 Qt Creator 中生成 Qt 库项目,以生成 .so 文件。
3. 在 Android Studio 中创建一个新的 Android 应用程序项目,并将以下代码添加到 app/build.gradle 文件的 android.defaultConfig 中:
```gradle
externalNativeBuild {
cmake {
cppFlags ""
arguments "-DANDROID_STL=c++_shared"
}
}
```
这将启用 C++ 原生构建,并指定使用共享 STL。
4. 将生成的 .so 文件复制到安卓应用程序项目的 jniLibs 目录中。
5. 在安卓应用程序项目中创建一个 Java 类,并添加以下代码:
```java
static {
System.loadLibrary("myqtlib");
}
public native void myQtFunction();
```
这将在应用程序启动时加载 Qt 库。
6. 在应用程序中调用 Java 类的 myQtFunction() 方法,从而调用 Qt 库中的函数。
请注意,这只是一个简单的示例代码,并且可能需要根据您的特定情况进行修改。此外,Qt 官方文档中有更详细的说明:https://doc.qt.io/qt-5/android-support.html。