私はVisualStudio(c ++)に取り組んでおり、OpenCVと一緒にQtを使用しています。
私がやりたいのは、後でアルゴリズムで使用されるいくつかの値を入力できるウィンドウを作成することです。これらの変数はdouble型とint型です。
Qtドキュメントとインターネットを調べましたが、適切な方法が見つかりませんでした。また、ポップアップして値を入力するようにユーザーに求めるダイアログボックスを探しているのではなく、値を入力して更新するためのいくつかのフィールドがあるウィンドウだけを探しています。助けていただければ幸いです、ありがとう
編集:私は現在、QDoubleSpinBoxを使用してdouble値を入力し、ボタンを使用して値を更新してコンソールに出力しています。main.hでカスタムスロットを使用できるようにボタンのクラスを作成しました:
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();
}