我试图理解Qt背后的潜在魔力。似乎我错过了QML和C ++如何交互的重要概念。
以下" Hello World"演示,最基本的,宣布应用程序,声明引擎,然后执行应用程序。
在这个级别,我们告诉应用程序使用引擎。 qt怎么知道?
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
}
答案 0 :(得分:2)
没有魔法,它确实发生了。在Qt来源中,QQmlApplicationEnginePrivate.cpp
中有以下内容:
QCoreApplication::instance()->setProperty(
"__qml_using_qqmlapplicationengine", QVariant(true));
这也回答了他们如何知道引擎应该使用该应用程序的问题。
QQmlApplicationEngine
只需instance()
QCoreApplication
个QGuiApplication
或其后代 Declare @ColumnA Varchar(50)
Declare @ColumnB Varchar(50)
Declare @tablename Varchar(50)
set @ColumnA = 'UserID'
set @ColumnB = 'Salary'
set @tablename = '#table'
declare @Query nvarchar(max)
set @Query='select '+@ColumnA+','+@ColumnB+'
FROM '+@tablename+' (NOLOCK)'
-- print @Query -- to see desired query.
execute SP_executesql @Query
并使用它。