天天热消息:Qt跨界面数据传输
这里使用QSharedMemory可以实现信号与槽中跨界面传输数据的功能!
原理是:
(相关资料图)
发送界面获取到数据就写到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();}
【领 QT开发教程 学习资料, 点击下方链接莬费领取↓↓ ,先码住不迷路~】
点击这里:
标签:
原标题:天天热消息:Qt跨界面数据传输
>更多相关文章
- 天天热消息:Qt跨界面数据传输
- 社保卡密码错误怎么办?社保卡密码输错被锁怎么办?
- 资产置换是什么意思?资产置换是利好还是利空?
- 10万元的股票交易费用是多少? 股票交易要注意什么事?
- 深圳青青世界是怎样的景点?深圳青青世界有什么景观?
- 顺周期板块是指什么(顺周期板块包括哪些行业)
- 汉明帝尊师故事介绍 嬴政尊师故事是什么?
- 青铜神树简介?青铜神树是什么树?
- 赵红鹰是什么意思?赵红鹰是谁?
- 股票放量涨停之后如何操作?股票买入均价和成本什么意思?
- 犹如幻翳是什么意思?B站UP主犹如幻翳是谁
- 股票系统性风险有哪些?股票系统性风险怎么算?
- 重庆今日油价92最新价格 贵州油价三个价区吗?
- 重庆今日油价92最新价格 明天油价92汽油降价吗?
- 陆金所理财可靠吗?陆金所理财产品哪个好
- 交通银行信用卡激活必须去柜台吗?交通银行信用卡激活有效期多久?
- 魔兽世界火焰龟怎么抓?魔兽世界火焰裂蹄牛怎么捉?
- 新蒜价格创3年新高是真的吗?2023大蒜会不会暴涨?
- 显示卡属性是什么意思?显示卡属性怎么关闭?
- WiDi无线显示传输技术是什么?IEEE 802简介都是什么?
- 包商银行被裁定破产具体情况是什么 银行为什么会破产?
- 广汽本田雅阁2.0油耗是多少(广汽本田雅阁2.4动力怎么样)
- 黄鳝要不要开水烫一下?油爆黄鳝是哪里的菜?
- 华瑞银行是正规银行吗?华瑞银行存款有风险吗?
- bo良ki影是什么意思?bo良ki影是什么梗
- 除权日是什么意思?除权对股民投资有什么影响?
- 全球app营收榜抖音第一吗?抖音靠什么盈利?
- 上市对企业有哪些好处?上市对员工是好是坏?
- 试用期规定的法律内容有什么?三年劳动合同试用期规定是多长时间?
- 银联在线支付要怎么关闭呢?银联在线支付关闭有什么影响?
热门推荐
酷图美文
最近更新
- 天天热消息:Qt跨界面数据传输
- 社保卡密码错误怎么办?社保卡密码输错被锁
- 资产置换是什么意思?资产置换是利好还是利
- 10万元的股票交易费用是多少? 股票交易要
- 深圳青青世界是怎样的景点?深圳青青世界有
- 顺周期板块是指什么(顺周期板块包括哪些行
- 汉明帝尊师故事介绍 嬴政尊师故事是什么?
- 青铜神树简介?青铜神树是什么树?
- 赵红鹰是什么意思?赵红鹰是谁?
- 股票放量涨停之后如何操作?股票买入均价和
- 犹如幻翳是什么意思?B站UP主犹如幻翳是谁
- 股票系统性风险有哪些?股票系统性风险怎么
- 重庆今日油价92最新价格 贵州油价三个价区
- 重庆今日油价92最新价格 明天油价92汽油降
- 陆金所理财可靠吗?陆金所理财产品哪个好
- 交通银行信用卡激活必须去柜台吗?交通银行
- 魔兽世界火焰龟怎么抓?魔兽世界火焰裂蹄牛
- 新蒜价格创3年新高是真的吗?2023大蒜会不
- 显示卡属性是什么意思?显示卡属性怎么关闭
- WiDi无线显示传输技术是什么?IEEE 802简
- 包商银行被裁定破产具体情况是什么 银行为
- 广汽本田雅阁2.0油耗是多少(广汽本田雅阁2
- 黄鳝要不要开水烫一下?油爆黄鳝是哪里的菜
- 华瑞银行是正规银行吗?华瑞银行存款有风险
- bo良ki影是什么意思?bo良ki影是什么梗
- 除权日是什么意思?除权对股民投资有什么影
- 全球app营收榜抖音第一吗?抖音靠什么盈利?
- 上市对企业有哪些好处?上市对员工是好是坏
- 试用期规定的法律内容有什么?三年劳动合同
- 银联在线支付要怎么关闭呢?银联在线支付关