Qt6 IOS QML QIOSApplicationDelegate запускает делегат, но Main.qml не отображается (экран черный)IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Qt6 IOS QML QIOSApplicationDelegate запускает делегат, но Main.qml не отображается (экран черный)

Сообщение Anonymous »

Я потратил много часов, пытаясь заставить простое приложение QML IOS запускать делегат UIApplication, а также запускать и отображать компонент Main.qml для более крупного приложения, которое я хотел бы создать.
Я использую Qt 6.8.1 на MacOS Sonoma 14.6.1, Qt Creator 15.0.0
Я пробовал запустить его как на симуляторе IOS, так и на устройстве Iphone с тем же результат.
Проблема в том, что все работает, за исключением того, что Main.qml не отображается.
Экран просто черный. Я могу закрыть приложение и открыть его, и делегаты UIApplication
вызываются, как и ожидалось, но экран всегда черный. Я пробовал несколько других
решений, ни одно из которых мне не удалось заставить работать правильно.
Я включил выходные данные, когда запускаю его, чтобы вы могли видеть, что все выглядит так. работает
как и ожидалось, за исключением визуального отображения.
Любая помощь и/или предложения приветствуются.
Спасибо!
Main.qml:
import QtQuick
import QtQuick.Window
import QtQuick.Controls

ApplicationWindow {
width: 640
height: 480
visible: true
color: "green"

Component.onCompleted: {
console.log("Main.qml Completed")
}

onVisibleChanged: console.log("Main.qml: visible: " + visible)

Text {
text: "My Application"
color: "white"
anchors.centerIn: parent
font.pixelSize: 26
}
}

AppDelegate.h:
#import

@interface QIOSApplicationDelegate : UIResponder
@property (strong, nonatomic) UIWindow *window;
@end

AppDelegate.mm
// AppDelegate.mm
#import "AppDelegate.h"

extern void setContinueLaunchingQML();

@implementation QIOSApplicationDelegate

- (void)applicationDidFinishLaunching:(UIApplication *)application {
NSLog(@"------------ App applicationDidFinishLaunching");
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"==== didFinishLaunchingWithOptions");

setContinueLaunchingQML();

NSLog(@"==== applicationDidFinishLaunching return YES ====");
return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application {
NSLog(@"IOS_APP_DEL: applicationWillResignActive");
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
NSLog(@"IOS_APP_DEL: applicationDidEnterBackground");
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
NSLog(@"IOS_APP_DEL: applicationWillEnterForeground");
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog(@"IOS_APP_DEL: applicationDidBecomeActive");
}
- (void)applicationWillTerminate:(UIApplication *)application {
}
@end

main.cpp:
// main.cpp
#include
#include
#include
#include

static bool waiting_for_ios_delegate_ = true;

int main(int argc, char *argv[])
{
qDebug() processEvents();
}

qDebug()

Подробнее здесь: https://stackoverflow.com/questions/793 ... visible-sc
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»