Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface Qt如何仅使用C++;为许多平台定制GUI?_User Interface_Qt_Frameworks - Fatal编程技术网

User interface Qt如何仅使用C++;为许多平台定制GUI?

User interface Qt如何仅使用C++;为许多平台定制GUI?,user-interface,qt,frameworks,User Interface,Qt,Frameworks,我不知道Qt如何使用底层图形,以便为每个平台创建自己的定制GUI外观。它是否利用了每个平台API或其他什么?我问这个问题是因为我真的很想知道如何创建自己的框架,以便制作具有独特图形外观的自定义GUI应用程序。Trolltech(现在的诺基亚)的优秀人员为您编写所有特定于平台的代码。在不同的平台上,只有其库的接口保持不变。您必须确保只使用它们的类,而不进行任何特定于操作系统的调用。 如果需要,您可以修改图形和处理程序以扩展Qt库并创建自己的外观。Trolltech(现在的诺基亚)的优秀人员为您编写

我不知道Qt如何使用底层图形,以便为每个平台创建自己的定制GUI外观。它是否利用了每个平台API或其他什么?我问这个问题是因为我真的很想知道如何创建自己的框架,以便制作具有独特图形外观的自定义GUI应用程序。

Trolltech(现在的诺基亚)的优秀人员为您编写所有特定于平台的代码。在不同的平台上,只有其库的接口保持不变。您必须确保只使用它们的类,而不进行任何特定于操作系统的调用。
如果需要,您可以修改图形和处理程序以扩展Qt库并创建自己的外观。

Trolltech(现在的诺基亚)的优秀人员为您编写所有特定于平台的代码。在不同的平台上,只有其库的接口保持不变。您必须确保只使用它们的类,而不进行任何特定于操作系统的调用。 如果你想要,你可以修改图形和处理程序来扩展Qt库并创建你自己的外观和感觉。

< P>“QT如何仅使用C++来为许多平台定制自定义GUI?” “它是否利用了每个平台API…”

你回答了你自己的问题。它为开发人员编写应用程序提供了一个公共库。应用程序开发人员只编写一次应用程序,不关心平台细节。然后,库作者为每个平台提供不同版本的库,用于处理所有特定的UI调用。这称为封装:

如果您要编写自己的这样的库,那么您需要找出所有目标平台之间的共同点,或者找出您的应用程序需要哪些高级概念,并创建该抽象。然后,为您想要支持的每个平台实现该抽象

编辑:

另见朱利亚诺的评论。这似乎更接近你想要做的事情,而不是你问的问题。我不会重新做TROLLTECK或WXWIDGET团队或GTK成员或MMOO人所做的工作,如果我可以避免它。

< P>“QT如何仅使用C++来为许多平台定制定制?”

“它是否利用了每个平台API…”

你回答了你自己的问题。它为开发人员编写应用程序提供了一个公共库。应用程序开发人员只编写一次应用程序,不关心平台细节。然后,库作者为每个平台提供不同版本的库,用于处理所有特定的UI调用。这称为封装:

如果您要编写自己的这样的库,那么您需要找出所有目标平台之间的共同点,或者找出您的应用程序需要哪些高级概念,并创建该抽象。然后,为您想要支持的每个平台实现该抽象

编辑:


另见朱利亚诺的评论。这似乎更接近你想要做的事情,而不是你问的问题。如果我可以避免的话,我不会重做Trolltech或WxWidgets团队或Gtk人员或Mono人员所做的工作。

您的Qt应用程序不必具有普通的标准平台图形外观,但可以通过Qt设计独特的应用程序

例如,您可以使用样式表为应用程序设置样式,甚至可以使用自定义QStyle(这不是很容易):


QtQuick是我们在即将发布的Qt4.7中引入的一项新技术(如果您感兴趣,请查看测试版)。它允许您轻松地从简单的原语中定义自定义UI组件,并具有自定义动画、状态转换和其他效果。例如,请参阅。

您的Qt应用程序不必具有普通的标准平台图形外观,但可以通过Qt设计独特的应用程序

例如,您可以使用样式表为应用程序设置样式,甚至可以使用自定义QStyle(这不是很容易):


QtQuick是我们在即将发布的Qt4.7中引入的一项新技术(如果您感兴趣,请查看测试版)。它允许您轻松地从简单的原语中定义自定义UI组件,并具有自定义动画、状态转换和其他效果。例如,请参阅。

Gotcha,那么QT基本上做的是形成一个远离操作系统本身的抽象层,然后在操作系统之间切换所有特定于操作系统的API?所以QT确实在某个时候使用了win32 API,对吗?明白了,那么QT基本上做的是形成一个远离操作系统本身的抽象层,然后他们在操作系统之间切换出所有操作系统特定的API?所以QT确实在某个时候使用了win32 API,对吗?“我怎样才能创建自己的框架,以创建具有独特图形外观的自定义GUI应用程序”--为QT创建自己的主题或样式表呢?你知道,QT附带源代码,只要阅读源代码就可以了。是的,为现有的UI工具包(如Qt)编写样式听起来很正常,编写自己的工具包b/c您需要另一种外观,而不是;)我真的很好奇win32的底层图形工作是如何完成的。“我怎样才能创建自己的框架,以使自定义GUI应用程序具有独特的图形外观”--如何为Qt创建自己的主题或样式表?你知道,Qt附带源代码,只需阅读源代码即可获得答案。是的,为现有的UI工具包(如Qt)编写样式听起来很正常,编写自己的工具包b/c您需要另一种外观,而不是;)我真的很好奇win32的底层图形工作是如何完成的。