最近Qtを学び始めました。今は初心者です。だから私自身の最初の例として、私は以下の簡単な例を書いた。行編集ウィジェットに何も表示されない
例の名前はです。電卓です。これで2つのボタンとa の行編集が表示されます。それはここにある:
マイCalculator.hはこれです:
#ifndef CALCULATOR_H
#define CALCULATOR_H
#include<QDialog>
#include "ui_Calculator.h"
class Calculator : public QDialog, public Ui::Calculator
{
Q_OBJECT
public:
Calculator(QWidget* parent = 0);
private slots:
void myslot();
};
#endif // CALCULATOR_H
そしてCalculator.cppはこれです:
#include <QtWidgets>
#include "calculator.h"
Calculator::Calculator(QWidget *parent)
:QDialog(parent)
{
setupUi(this);
connect(oneButton,SIGNAL(clicked(bool)), this, SLOT(myslot()));
}
void Calculator::myslot(){
lineEdit -> setText("1");
}
そして、これはありますmain.cpp:
#include <QApplication>
#include <QDialog>
#include "ui_Calculator.h"
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
Ui::Calculator ui;
QDialog* dialog = new QDialog;
ui.setupUi(dialog);
dialog -> show();
return app.exec();
}
プログラムはエラーなく正常に実行されます。しかし、ボタンをクリックすると、行編集には何も印刷/表示されません。どうして?
問題を解決するために私のプログラムのどの部分を変更する必要がありますか?
が含まれていませんか? – user1482030
私はデザイナーによって定義しました。 _ui_Calculator.h_に存在します。 – Franky
あなたはあなたの 'connect'呼び出しを以下に示す新しい構文に変更することができます:http://doc.qt.io/qt-5/signalsandslots.htmlシグナルスロット接続に関するいくつかの問題がある場合、エラー – Hayt