Я потратил много часов, пытаясь заставить простое приложение 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
Qt6 IOS QML QIOSApplicationDelegate запускает делегат, но Main.qml не отображается (экран черный) ⇐ IOS
Программируем под IOS
1737137782
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()
Подробнее здесь: [url]https://stackoverflow.com/questions/79365753/qt6-ios-qml-qiosapplicationdelegate-starts-delegate-but-main-qml-not-visible-sc[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия