Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.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
C++ 为什么QPrintDialog不在肉桂桌面上打开本机打印对话框_C++_Qt - Fatal编程技术网

C++ 为什么QPrintDialog不在肉桂桌面上打开本机打印对话框

C++ 为什么QPrintDialog不在肉桂桌面上打开本机打印对话框,c++,qt,C++,Qt,我在LinuxMint上使用Qt5.6;出现的打印对话框并不是所有其他应用程序都会出现的对话框,因此我猜它是qt对话框,而不是本机对话框。我需要本机对话框上的一些设置。我可以改变这种行为吗?不可以。肉桂使用GTK,这是一个不同的库。你可能会试图让Qt看起来很像本地的肉桂应用程序,但在幕后它使用自己的小部件,如果它们不提供某些功能,你必须编写自己的类继承QPrintDialog来获得你想要的行为 实际上,Qt团队正在努力实现Qt包装,并使用一些实际的本机元素来统一给定操作系统上应用程序之间的体验,

我在LinuxMint上使用Qt5.6;出现的打印对话框并不是所有其他应用程序都会出现的对话框,因此我猜它是qt对话框,而不是本机对话框。我需要本机对话框上的一些设置。我可以改变这种行为吗?

不可以。肉桂使用GTK,这是一个不同的库。你可能会试图让Qt看起来很像本地的肉桂应用程序,但在幕后它使用自己的小部件,如果它们不提供某些功能,你必须编写自己的类继承QPrintDialog来获得你想要的行为


实际上,Qt团队正在努力实现Qt包装,并使用一些实际的本机元素来统一给定操作系统上应用程序之间的体验,但他们仍在进行实验,因为这相当复杂。请参阅。

否。肉桂使用GTK,这是一个不同的库。你可能会试图让Qt看起来很像本地的肉桂应用程序,但在幕后它使用自己的小部件,如果它们不提供某些功能,你必须编写自己的类继承QPrintDialog来获得你想要的行为


实际上,Qt团队正在努力实现Qt包装,并使用一些实际的本机元素来统一给定操作系统上应用程序之间的体验,但他们仍在进行实验,因为这相当复杂。请参阅。

但对于QFileDialog,有一个选项QFileDialog::DontUseNativeDialog,文档中说它的意思是“不要使用本机文件对话框。默认情况下,除非您使用包含Q_对象宏的QFileDialog子类,或者平台没有您需要的本机对话框,否则将使用本机文件对话框。”所以我希望类似的东西可以用于打印对话框。我也觉得这是一项正在进行的工作,但对于QFileDialog来说,有一个选项QFileDialog::DontUseNativeDialog,文档中说这意味着什么“不要使用本机文件对话框。默认情况下,使用本机文件对话框,除非您使用包含Q_对象宏的QFileDialog子类,或者平台没有您所需类型的本机对话框。“所以我希望打印对话框可以使用类似的对话框。我也觉得这是一个正在进行的工作。”。