Qt中MFC等效的SendMessage

 哀乐交加6 发布于 2023-02-13 11:13

在QT中移植VS2010项目.

我想,我对之前的帖子不太清楚,所以我在这里再解释一下.

问题是..我有很多子Qdialog窗口,当用户点击生成一些消息.我希望这些消息在我的主应用程序窗口的QTablewidget上.
现在正如一些成员所建议的,我应该看看VS2010中的事情是如何完成的,并尝试在QT中复制相同内容.所以这是我的设计..请让我知道你的建议/批评.

1)vs 2010 - >在主应用程序窗口中

MESSAGE_MAP

我们有

ON_MESSAGE( WM_NOTICE, OnAddMessage )

WM_NOTICE = WM_USER + 1;

在QT中做同样的事情我需要信号和插槽.所以有点像

connect( sender , SIGNAL(QtSingleApplication::messageReceived ( const QString &message )  ) , this , SLOT ( on_add_message( const QString & message ) );

现在我该替换什么呢

'发件人'?在我的情况下谁将成为发件人?

SIGNAL(QtSingleApplication :: messageReceived)是对的吗?

插槽 - 这里没有问题..我可以实现该代码,我将在排序顺序中将消息放在QTable widegt中.

2)现在,如果我查看在VC++中开发的现有项目的内部QDialog窗口源代码,它们就像是

void Message_information::add( const SMS& message )
{
//SMS is a  structure  and fields are SYSTEMTIME, Enum , CString
 CCriticalSection critical_section;
CSingleLock   lock( &critical_section, true );
messages_.insert( message ); // where messages_ is an object std::multiset

SendMessage( dialog_->m_hWnd, WM_MULTIBOXMESSAGE, 0, 0 );
}

现在在Qt做同样的事情

void Message_information::add( const SMS& message )
{
  QMutex mutex;
  mutex.lock();
messages_.insert( message ); // where messages_ is an object std::multiset

//SendMessage( dialog_->m_hWnd, WM_MULTIBOXMESSAGE, 0, 0 );
QtSingleApplication::sendMessage ( // send multiset values here   );

}

    我应该在SendMessage中添加什么参数?IS infact sendMessage是否正确调用函数?

这个'add'函数正在其他地方被调用.我知道这听起来与其他问题重复,我已经查看了我的一些成员提供的链接,但很抱歉,我无法理解. - 任何建议或批评都可能对我有所帮助..帮助很多

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有