日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT多界面之间数据传输

發布時間:2025/3/21 c/c++ 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT多界面之间数据传输 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

在Qt中,要在兩個界面之間進行數據傳輸,有幾種方法,我這里演示使用Qt的自定義信號來進行數據。程序的大概流程是,打開主界面,點擊一個按鈕,彈出子窗口,然后主窗口可以往子窗口發信息,子窗口也可以往主窗口發信息。
示例運行結果如下:

代碼

mainwindow.h

#ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QDialog> #include "dialog.h" #include <QDebug>namespace Ui { class MainWindow; }class MainWindow : public QMainWindow {Q_OBJECTpublic:explicit MainWindow(QWidget *parent = 0);~MainWindow();private slots:void on_OpenDialog_clicked();void on_emitBtn_clicked();void setStr(QString&);private:Ui::MainWindow *ui;Dialog *dialog;signals:void mainWidgetStr(QString &);};#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h" #include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui->setupUi(this);dialog = new Dialog(this);connect(dialog,SIGNAL(getStr(QString&)), this, SLOT(setStr(QString&))); }MainWindow::~MainWindow() {delete ui; }void MainWindow::on_OpenDialog_clicked() {dialog->setModal(false); //模態dialog->show();}void MainWindow::on_emitBtn_clicked() {connect(this,SIGNAL(mainWidgetStr(QString &)),dialog,SLOT(mainWidgetStr(QString &)));QString str = ui->EmitLineEdit->text();emit mainWidgetStr(str); }void MainWindow::setStr(QString &str) {ui->ReceiveLineEdit->setText(str); }

dialog.h

#ifndef DIALOG_H #define DIALOG_H#include <QDialog>namespace Ui { class Dialog; }class Dialog : public QDialog {Q_OBJECTpublic:explicit Dialog(QWidget *parent = 0);~Dialog();private slots:void on_emitBtn_clicked();void mainWidgetStr(QString &);private:Ui::Dialog *ui; signals:void getStr(QString &str); };#endif // DIALOG_H

dialog.cpp

#include "dialog.h" #include "ui_dialog.h"Dialog::Dialog(QWidget *parent) :QDialog(parent),ui(new Ui::Dialog) {ui->setupUi(this);}Dialog::~Dialog() {delete ui; }void Dialog::on_emitBtn_clicked() {QString str = ui->EmitLineEdit->text();emit getStr(str); }void Dialog::mainWidgetStr(QString &str) {ui->ReceiveLineEdit->setText(str); }

整個項目地址:https://download.csdn.net/download/matt45m/12055957

總結

以上是生活随笔為你收集整理的QT多界面之间数据传输的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。