天天熱消息:Qt跨界面數(shù)據(jù)傳輸
這里使用QSharedMemory可以實現(xiàn)信號與槽中跨界面?zhèn)鬏敂?shù)據(jù)的功能!
原理是:
(相關(guān)資料圖)
發(fā)送界面獲取到數(shù)據(jù)就寫到SharedMemory中
而獲取端,用個記時器,時時去多,奇淫技巧啊!
運行截圖如下:
源碼如下:
sharedwidget.h
#ifndef SHAREDWIDGET_H#define SHAREDWIDGET_H#include QT_BEGIN_NAMESPACEclass QSharedMemory;QT_END_NAMESPACEnamespace Ui {class SharedWidget;}class SharedWidget : public QWidget{Q_OBJECTpublic:explicit SharedWidget(QWidget *parent = 0);~SharedWidget();protected slots:void LineEditTextChanged(QString text);private:Ui::SharedWidget *ui;QSharedMemory *m_sharedMemory;};#endif // SHAREDWIDGET_H
widget.h
#ifndef WIDGET_H#define WIDGET_H#include QT_BEGIN_NAMESPACEclass QSharedMemory;QT_END_NAMESPACEnamespace Ui {class Widget;}class Widget : public QWidget{Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();protected:void timerEvent(QTimerEvent *event) Q_DECL_OVERRIDE;protected slots:void btnClicked();private:Ui::Widget *ui;QSharedMemory *m_sharedMemory;int m_timerId;};
#endif // WIDGET_H
sharedwidget.cpp
#include \"sharedwidget.h\"#include \"ui_sharedwidget.h\"#include #include #include #include SharedWidget::SharedWidget(QWidget *parent) :QWidget(parent),ui(new Ui::SharedWidget){ui->setupUi(this);m_sharedMemory = new QSharedMemory(\"123456\");connect(ui->lineEdit, SIGNAL(textChanged(QString)),this, SLOT(LineEditTextChanged(QString)));}SharedWidget::~SharedWidget(){delete ui;}void SharedWidget::LineEditTextChanged(QString text){if(m_sharedMemory->isAttached()){if(!m_sharedMemory->detach()){return;}}QBuffer buffer;buffer.open(QBuffer::ReadWrite);QDataStream out(&buffer);out << text;if(!m_sharedMemory->create(buffer.size())){qDebug()<< \"create failed!\";return;}m_sharedMemory->lock();char *to = static_cast(m_sharedMemory->data());const char *from =text.toStdString().c_str();memcpy(to, from, qMin(m_sharedMemory->size(), (int)buffer.size()));m_sharedMemory->unlock();}
widget.cpp
#include \"widget.h\"#include \"ui_widget.h\"#include \"sharedwidget.h\"#include #include #include #include Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget){ui->setupUi(this);m_sharedMemory = new QSharedMemory;m_sharedMemory->setKey(\"123456\");m_timerId = startTimer(0);connect(ui->pushButton, SIGNAL(clicked(bool)), this, SLOT(btnClicked()));}Widget::~Widget(){delete ui;delete m_sharedMemory;}void Widget::timerEvent(QTimerEvent *event){if(event->timerId() == m_timerId){if(!m_sharedMemory->attach()){return;}QBuffer buffer;m_sharedMemory->lock();buffer.setData((char*)m_sharedMemory->constData(), m_sharedMemory->size());buffer.open(QBuffer::ReadOnly);QString data = buffer.readAll();m_sharedMemory->unlock();m_sharedMemory->detach();ui->label->setText(data);}}void Widget::btnClicked(){SharedWidget *sharedWidget = new SharedWidget;sharedWidget->show();}
main.cpp
#include \"widget.h\"#include \"sharedwidget.h\"#include int main(int argc, char *argv[]){QApplication a(argc, argv);Widget w;w.show();return a.exec();}
【領(lǐng) QT開發(fā)教程 學習資料, 點擊下方鏈接莬費領(lǐng)取↓↓ ,先碼住不迷路~】
點擊這里:
標簽:
>更多相關(guān)文章
- 天天熱消息:Qt跨界面數(shù)據(jù)傳輸
- 社保卡密碼錯誤怎么辦?社保卡密碼輸錯被鎖怎么辦?
- 資產(chǎn)置換是什么意思?資產(chǎn)置換是利好還是利空?
- 10萬元的股票交易費用是多少? 股票交易要注意什么事?
- 深圳青青世界是怎樣的景點?深圳青青世界有什么景觀?
- 順周期板塊是指什么(順周期板塊包括哪些行業(yè))
- 漢明帝尊師故事介紹 嬴政尊師故事是什么?
- 青銅神樹簡介?青銅神樹是什么樹?
- 趙紅鷹是什么意思?趙紅鷹是誰?
- 股票放量漲停之后如何操作?股票買入均價和成本什么意思?
- 猶如幻翳是什么意思?B站UP主猶如幻翳是誰
- 股票系統(tǒng)性風險有哪些?股票系統(tǒng)性風險怎么算?
- 重慶今日油價92最新價格 貴州油價三個價區(qū)嗎?
- 重慶今日油價92最新價格 明天油價92汽油降價嗎?
- 陸金所理財可靠嗎?陸金所理財產(chǎn)品哪個好
- 交通銀行信用卡激活必須去柜臺嗎?交通銀行信用卡激活有效期多久?
- 魔獸世界火焰龜怎么抓?魔獸世界火焰裂蹄牛怎么捉?
- 新蒜價格創(chuàng)3年新高是真的嗎?2023大蒜會不會暴漲?
- 顯示卡屬性是什么意思?顯示卡屬性怎么關(guān)閉?
- WiDi無線顯示傳輸技術(shù)是什么?IEEE 802簡介都是什么?
- 包商銀行被裁定破產(chǎn)具體情況是什么 銀行為什么會破產(chǎn)?
- 廣汽本田雅閣2.0油耗是多少(廣汽本田雅閣2.4動力怎么樣)
- 黃鱔要不要開水燙一下?油爆黃鱔是哪里的菜?
- 華瑞銀行是正規(guī)銀行嗎?華瑞銀行存款有風險嗎?
- bo良ki影是什么意思?bo良ki影是什么梗
- 除權(quán)日是什么意思?除權(quán)對股民投資有什么影響?
- 全球app營收榜抖音第一嗎?抖音靠什么盈利?
- 上市對企業(yè)有哪些好處?上市對員工是好是壞?
- 試用期規(guī)定的法律內(nèi)容有什么?三年勞動合同試用期規(guī)定是多長時間?
- 銀聯(lián)在線支付要怎么關(guān)閉呢?銀聯(lián)在線支付關(guān)閉有什么影響?
熱門推薦
酷圖美文
最近更新
- 天天熱消息:Qt跨界面數(shù)據(jù)傳輸
- 社??艽a錯誤怎么辦?社??艽a輸錯被鎖
- 資產(chǎn)置換是什么意思?資產(chǎn)置換是利好還是利
- 10萬元的股票交易費用是多少? 股票交易要
- 深圳青青世界是怎樣的景點?深圳青青世界有
- 順周期板塊是指什么(順周期板塊包括哪些行
- 漢明帝尊師故事介紹 嬴政尊師故事是什么?
- 青銅神樹簡介?青銅神樹是什么樹?
- 趙紅鷹是什么意思?趙紅鷹是誰?
- 股票放量漲停之后如何操作?股票買入均價和
- 猶如幻翳是什么意思?B站UP主猶如幻翳是誰
- 股票系統(tǒng)性風險有哪些?股票系統(tǒng)性風險怎么
- 重慶今日油價92最新價格 貴州油價三個價區(qū)
- 重慶今日油價92最新價格 明天油價92汽油降
- 陸金所理財可靠嗎?陸金所理財產(chǎn)品哪個好
- 交通銀行信用卡激活必須去柜臺嗎?交通銀行
- 魔獸世界火焰龜怎么抓?魔獸世界火焰裂蹄牛
- 新蒜價格創(chuàng)3年新高是真的嗎?2023大蒜會不
- 顯示卡屬性是什么意思?顯示卡屬性怎么關(guān)閉
- WiDi無線顯示傳輸技術(shù)是什么?IEEE 802簡
- 包商銀行被裁定破產(chǎn)具體情況是什么 銀行為
- 廣汽本田雅閣2.0油耗是多少(廣汽本田雅閣2
- 黃鱔要不要開水燙一下?油爆黃鱔是哪里的菜
- 華瑞銀行是正規(guī)銀行嗎?華瑞銀行存款有風險
- bo良ki影是什么意思?bo良ki影是什么梗
- 除權(quán)日是什么意思?除權(quán)對股民投資有什么影
- 全球app營收榜抖音第一嗎?抖音靠什么盈利?
- 上市對企業(yè)有哪些好處?上市對員工是好是壞
- 試用期規(guī)定的法律內(nèi)容有什么?三年勞動合同
- 銀聯(lián)在線支付要怎么關(guān)閉呢?銀聯(lián)在線支付關(guān)