Qtとコーディングを学び始めました。私は練習のために、基本的なプロジェクトを念頭に置いています。私は、CPPに始めていますので、QPushButton - ライン編集ボックスにテキストの文字列をプッシュボタンで追加する方法
ベア私と一緒にしてください:ここでは
は私の小さなUIのPICがあります。
私はQPushButtonをクリックした後、この文字列 - > "text"をテキストボックス内に追加したいと思います。
2回クリックすると "texttext"などが表示されます。
私は答え、この質問を見てきました: QT creating push buttons that add text to a text edit box
解決策は、私はちょうど私のプロジェクトに統合する方法を理解していない、私は必要なものがあるように思わ述べました。
助けることができる人はいますか?
私はこれまでのところ、これらのファイルを持っている:
test.pro:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = test
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
mainwindow.h:
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void addTextTolable();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
main.cppに:
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
とメインウィンドウを.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->pushButton, SIGNAL(clicked(bool)), this, SLOT(this- >addTextToLabel()));
}
void MainWindow::addTextTolable()
{
ui->textEdit->appendPlainText("test");
}
MainWindow::~MainWindow()
{
delete ui;
}
この私が
mainwindow.cpp:-1: In member function 'void MainWindow::addTextTolable()':
mainwindow.cpp:14: error: 'class QTextEdit' has no member named 'appendPlainText'
ui->textEdit->appendPlainText("test");
^
私はすべてのいくつかのエラーを考え出しました、ちょうど最後のものは私が取り除かれたように見えません。私はそれに応じて自分の投稿を更新した。あなたが助ける時間があれば素晴らしいでしょう:) – Shamon
ああ、はい。 QTextEditにはそのメソッドが含まれず、QPlainTextEditだけが含まれます。 " - > textEdit-> setText(ui-> textEdit-> toPlainText()+" test ");"を使用して、 "ui-> plainTextEdit-> appendPlainText(" test ")" –
"appendPlainText"の代わりに "append"を指定すると、エラーを取り除くことができます。わーい!私は新しいものを持っています: "QObject :: connect:このようなスロットはありませんMainWindow :: this-> addTextToLabel()in .. \ test \ mainwindow.cpp:10" --- "QObject :: connect:(送信者名:QObject :: connect:(受信者名: 'MainWindow') "アプリケーションは今実行されますが、ボタンはボックスにテキストを追加しません。 – Shamon