我正在使用 Visual Studio (c++),并且正在使用 Qt 和 OpenCV。
我想要做的是创建一个窗口,我可以在其中输入稍后将在算法中使用的几个值。这些变量是 double 和 int 类型。
我查看了 Qt 文档和互联网,但没有找到合适的方法。我也不是在寻找一个弹出对话框并要求用户输入值,只是一个带有多个字段的窗口来输入我的值并更新它们。任何帮助将不胜感激,谢谢
编辑:我现在使用 QDoubleSpinBox 输入一个双精度值和一个按钮来更新和打印控制台中的值。我为我的按钮创建了一个类,以便能够在 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;
}  
现在我不确定在'main'函数中写什么来使用它来创建按钮。到目前为止,这是我的“主要”功能:
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();
}