c++ - Qt C++如何输入值

标签 c++ visual-studio-2010 qt input

我正在使用 Visual Studio (c++),我正在使用 Qt 和 OpenCV。
我想要做的是创建一个窗口,我可以在其中输入几个稍后将在算法中使用的值。这些变量是double和int类型。
我查看了 Qt 文档和互联网,但没有找到合适的方法。我也不是在寻找一个对话框弹出并要求用户输入值,只是一个带有多个字段的窗口来键入我的值并更新它们。 任何帮助将不胜感激,谢谢

编辑: 我现在使用 QDoubleSpinBox 输入一个 double 值和一个按钮来更新和打印控制台中的值。 我为我的按钮创建了一个类,以便能够在 main.h 中使用自定义 SLOTS:

class MyButton : public QWidget
{
    Q_OBJECT

public:
    MyButton();

public slots:
    void updateValue(QDoubleSpinBox* input);
};  

这是 main.cpp:

#include "main.h"

#include <QtGui>

#include <iostream>

using namespace std;

double value;

MyButton::MyButton() : QWidget()
{
    QPushButton *update = new QPushButton("update",this);
    connect(update, SIGNAL(clicked()), this, SLOT(updateValue(QDoubleSpinBox)));
}

void MyButton::updateValue(QDoubleSpinBox *input)
{
    input->update();
    value = input->value(); 
    cout<<value;
}  

现在我不确定要在“主要”函数中写些什么来使用它来创建按钮。到目前为止,这是我的“主要”功能:

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QWidget window;

    QDoubleSpinBox *input = new QDoubleSpinBox();
    input->setValue(5.00);

    QVBoxLayout *vbox1 = new QVBoxLayout;
    vbox1->addWidget(input);

    window.setLayout(vbox1);
    window.resize(800,600);
    window.show();
    window.setWindowTitle(QApplication::translate("toplevel", "Top-level widget"));
    return app.exec();
}

最佳答案

要解决您的任务,您应该了解以下主题:
1. 哪些小部件可用于从用户那里获取输入(其中大部分已说明);
2. Qt 中的SIGNALS & SLOTS(使用它们,您可以将提供给小部件的值分配给您的变量)。

由于这些主题相当多,我建议您引用Qt 文档(例如使用Qt 助手),因为现在您知道要搜索哪些信息了更容易解决你的任务

关于c++ - Qt C++如何输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13526532/

相关文章:

c++ - 模板接口(interface)实现类 C++ 错误

qt - PyQt/Qt : How to stretch an image in Qlabel widget?

c++ - QXmlQuery - 将参数传递给 XSLT

c++ - 如何 list.sort(member Function);?

vb.net - Windows 窗体取消按钮不起作用

python - 遍历 boost::python vector 时出现 TypeError

c++ - 如何在 OnInitDialog 函数中最小化 MFC 应用程序?

c++ - 如何在 QtCharts 中启用鼠标弹出窗口?

c++二进制搜索返回(找到)无论用户类型如何

c++ - Visual Studio 2013 Update 3 中的 C++/Zo 在哪里