用原始c+编写qt应用程序+;(无qml) 我是一个C++新手(IDK,什么是新手,诚实,但知道C++的95%,但是在编写程序方面还是新的),最近开始与GUI一起乱跑。p>

用原始c+编写qt应用程序+;(无qml) 我是一个C++新手(IDK,什么是新手,诚实,但知道C++的95%,但是在编写程序方面还是新的),最近开始与GUI一起乱跑。p>,c++,qt,user-interface,C++,Qt,User Interface,我已经制作了一个运行良好的windows应用程序,但除了有时有点不方便之外,它只在windows上运行也让我感到沮丧 我尝试QT,在一个小时的Google搜索,并在他们的教程中搜索,我似乎找不到一种方法来编写程序使用原始C++代码(没有QML或任何类似的东西)。 我想要的是类似于显示qt对象的函数,如: displaybutton(xcoordinates,ycoordinates,button_object_by_reference); 如果我过于笼统,最好在关闭这个线程之前知道我可以指定什

我已经制作了一个运行良好的windows应用程序,但除了有时有点不方便之外,它只在windows上运行也让我感到沮丧

我尝试QT,在一个小时的Google搜索,并在他们的教程中搜索,我似乎找不到一种方法来编写程序使用原始C++代码(没有QML或任何类似的东西)。 我想要的是类似于显示qt对象的函数,如:

displaybutton(xcoordinates,ycoordinates,button_object_by_reference);
如果我过于笼统,最好在关闭这个线程之前知道我可以指定什么

编辑: 好的,这很好,但对我来说不好,因为我仍然不知道qt的基本原理。比如主窗口是如何工作的,比如类是如何显示的(我是否需要布局,或者这是一个糟糕的问题)。这些例子有助于更好地理解qt的工作原理,但学习基础知识仍然不太容易(我有一部分,但回顾这些例子并试图找出应该是自然的事情是如何完成的,这很乏味)。那么,我在哪里可以找到环境如何工作的概述呢


<>基本上,“Qt是如何工作的,但不要用QML来解释;只使用C++来解释。”

你应该看一下小部件的例子。p>

在我选择的几个小部件中,都是在C++中天生创建的。例如,在windowflags示例()中。它展示了如何制作一个按钮

quitButton = new QPushButton("Button Name");
// Signal and slots are how QT handles it's callbacks
connect(quitButton, SIGNAL(clicked()), qApp, SLOT(quit()));
对于布局,您需要查看QT布局选项。我更喜欢使用designer来了解放置对象时的外观,然后通常编写自己的布局。再次从示例中,将按钮添加到GUI

QHBoxLayout *bottomLayout = new QHBoxLayout;
bottomLayout->addStretch(); // Fill entire area
bottomLayout->addWidget(quitButton);  // Place our button in that area
setLayout(bottomLayout);  // Push layout to main GUI object.

要指定小部件的确切位置,可以执行以下操作

QPushButton *button = new QPushButton(this);
button->setText("Try me");
button->move(30, 10);
button->show();

但最好使用布局,这样您的布局将不受窗口大小调整的影响,您可以在此处阅读相关内容

您应该了解如何进行更多研究,以减少此问题的广泛性。试试看。可能你想要的是QTWidget,而不是QtQuick。你可能刚刚回答了我的问题,但在我花半个小时阅读链接中的示例之前——它是否足够让一个对编写qt一无所知的人学习?2:(为了尽可能清楚地说明这一点)是否允许我在一个文件中编写整个应用程序?作为奖励:3:无论每英寸/屏幕大小的像素数是多少,我都能创建正常工作的应用程序吗?这是qml的一个问题。编辑:哎呀,你在我写这篇评论的时候编辑了你的文章。你可能已经回答了这个问题。sry1。Qt从原理上讲非常简单。如果你知道C++,你应该能够得到Qt。如果你是C++新手,我会建议其他东西来编写GUI。1b。如果您不知道代码,为什么不使用Qt所见即所得编辑器(designer),它非常有用2。这取决于应用程序的大小。您始终可以在一个文件中写入。这可能不是最佳实践,但c++没有文件限制,要求您实际知道自己在做什么,所以我猜答案是否定的。但话说回来,由于Qt确实允许您解决所有这些问题,经过一点研究和努力,答案可能会变成“是”。此外,“半小时学习”算不了什么——当试图解决实际问题时,往往需要一周或一个月(或更多)的学习——习惯它。总有一个最低限度。是否要调整所有按钮的文本大小,以便继续缩小比例?3b。QT提供了调整大小的方法等等,但您可能需要调整布局才能正常工作。总的来说,我同意杰斯珀的观点,从你的问题来看,你似乎不想堕落和肮脏。无论你做什么,你都必须进入代码中去理解它。我对尺寸发表评论的主要原因是因为我使用的是surface pro,它的屏幕非常小,但每英寸的像素数量惊人。我弄乱的qml代码弄乱了文本大小,在我修复它之后,在正常屏幕上仍然看起来很有趣。