Qt について 2 つの .cpp ファイルが互いの関数を呼び出す_Qt が別の cpp の関数を呼び出す_Xi Shuang Ruoya のブログ - CSDN ブログ
QT 共通型変換_qt uint_Fei クラスメートのブログ - CSDN ブログ
QByteArray、QString、char、10 進数、16 進数間の変換は、QT_qbytearray から 10 進数_Nina_小哥的博客-CSDN 博客で一般的です。
「QT(C++)開発エンジニア」_Qt5インターフェース開発エンジニアコース、組み込みLinux開発エンジニアコース、C++ソフトウェアエンジニアコース - CSDNブログ
qstring qt の文字列をマージ
https://www.yii666.com/blog/361427.html
QString の QT フォーマット (ゼロ パディング/16 進変換)_qstring フォーマット_Zhishou ブログ-CSDN ブログ
高度な Qt 開発: QString 形式の出力 double value_qstring double_高精度コンピューター ビジョン ブログ - CSDN ブログ
QString クラス—number_qstring::number_Acuity.のブログ - CSDN ブログ
qt の LineEdit->setText() が double を出力する - 開発者ブログ
https://tool.4xseo.com/a/56309.html
Qt: QString を double type_qstring から double に変換する issue_xxgxgx のブログ-CSDN ブログ
Qt/C++ コンパイル マップ総合アプリケーション 59 - 経度と緯度の座標修正_feiyangqingyun のブログ - CSDN ブログ
方法 1
このクラスのパブリック ポインター型静的メンバー変数を MainWindow クラスに追加し、他のファイルはこのポインターを使用して MainWindow 内のコントロールを操作します。
説明:
以下は、mainWindow からボタンを押して listForm インターフェースを作成し、listForm インターフェース上の挿入ボタンと削除ボタンを使用して mainWindow ウィンドウの編集ボックスを制御する方法を示しています。
mainWindow.h ファイルは次のとおりです。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <listform.h>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
public:
static MainWindow *mutualUi;//!!!!!!!!!指针类型静态成员变量
void setLinetext(QString s);
private slots:
void on_pushButton_clicked();
};
#endif // MAINWINDOW_H
static MainWindow *mutualUi;//!!! ポインタ型の静的メンバ変数
なぜ静的に参照する必要があるのか、C++ における static の詳細な説明
mainWindow.cpp ファイルは次のとおりです。
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "qdebug.h"
MainWindow *MainWindow::mutualUi = nullptr;//!!!!初始化,非常重要
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
mutualUi = this;//!!!赋值,非常重要
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::setLinetext(QString s)
{
ui->lineEdit->setText(s);
}
void MainWindow::on_pushButton_clicked()
{
listForm *l;
l = new listForm();
l->show();
}
MainWindow *MainWindow::mutualUi = nullptr;//! !!!初期化は非常に重要です
mutualUi = this;//! !!任務、とても重要
listForm.cpp ファイル
#include "listform.h"
#include "ui_listform.h"
#include "mainwindow.h"
listForm::listForm(QWidget *parent) :
QWidget(parent),
ui(new Ui::listForm)
{
ui->setupUi(this);
}
listForm::~listForm()
{
delete ui;
}
void listForm::on_pushButton_clicked()
{
MainWindow::mutualUi->setLinetext("1111");//通过mainwindow的指针设置文本
}
void listForm::on_pushButton_2_clicked()
{
MainWindow::mutualUi->setLinetext("");//通过mainwindow的指针设置文本
}
MainWindow::mutualUi->setLinetext("1111");//メインウィンドウのポインタを介してテキスト listForm.h ファイルを設定します。
#ifndef LISTFORM_H
#define LISTFORM_H
#include <QWidget>
namespace Ui {
class listForm;
}
class listForm : public QWidget
{
Q_OBJECT
public:
explicit listForm(QWidget *parent = 0);
~listForm();
private slots:
void on_pushButton_clicked();
void on_pushButton_2_clicked();
private:
Ui::listForm *ui;
};
#endif // LISTFORM_H
エフェクト表示:
実行:
listForm ウィンドウを作成します。
「挿入」をクリックします。
クリックして削除: