默认启动一个后台线程。实现一个后台线程处理一个连接。 可与插件接口从 CPluginClient 派生的插件一起使用,用于连接是阻塞模型的。
更多...
#include <ConnecterThread.h>
|
virtual int | Load (QSettings &set) override |
| 加载参数
|
|
virtual int | Save (QSettings &set) override |
| 保存参数
|
|
|
void | sigOpenConnect (CConnecterConnect *) |
|
void | sigCloseconnect (CConnecterConnect *) |
|
void | sigConnected () |
| 连接成功信号。仅由插件触发。 应用程序需要在此时设置视图属性 Enabled 为 true 。允许接收键盘和鼠标事件
|
|
void | sigDisconnect () |
| 通知用户断开连接。仅由插件触发。 当从插件中需要要断开连接时触发。例如:对端断开连接、重置连接或者连接出错。 当应用接收到此信号后,调用 DisConnect() 关闭连接。
|
|
void | sigDisconnected () |
| 断开连接成功信号。仅由插件触发
|
|
void | sigUpdateName (const QString &szName) |
|
void | sigUpdateParameters (CConnecter *pConnecter) |
| 更新参数,通知应用程序保存或显示参数
|
|
void | sigError (const int nError, const QString &szError) |
| 当有错误产生时触发。
|
|
void | sigInformation (const QString &szInfo) |
| 中主窗口中显示信息
|
|
void | sigShowMessageBox (const QString &title, const QString &message, const QMessageBox::Icon &icon=QMessageBox::Information) |
| 从后台线程中触发在主线程中显示消息对话框(QMessageBox),不阻塞后台线程
|
|
void | sigClipBoardChanged () |
|
static QObject * | createObject (const QString &className, QObject *parent=NULL) |
|
默认启动一个后台线程。实现一个后台线程处理一个连接。 可与插件接口从 CPluginClient 派生的插件一起使用,用于连接是阻塞模型的。
原理:在 Connect() 中启动一个后台线程 CConnectThread 。 在线程中调用 InstanceConnect() 实例化 CConnect , 并在 CConnect::Connect() 启动定时器, 此定时器在后台线程中调用,通过对定时器的操作,实现一个非 Qt 事件循环(可能会阻塞),详见 CConnect 。 并且 CConnect 仍然支持 Qt 事件(QObject 的 信号 - 槽 机制)(非阻塞)。
序列图:
- 注解
- 此接口仅由插件实现。
此接口实例运行在主线程(UI线程)中。
具体的插件需要实现下面接口:
- 实现 InstanceConnect() ,生成连接对象。连接对象运行在后台线程中。
- 参见
- CConnect CConnectThread CConnecter CPluginClient CFrmViewer
在文件 ConnecterThread.h 第 56 行定义.
◆ ~CConnecterThread()
CConnecterThread::~CConnecterThread |
( |
| ) |
|
|
virtual |
◆ Clean()
int CConnecterThread::Clean |
( |
| ) |
|
|
overridevirtual |
◆ Connect
int CConnecterThread::Connect |
( |
| ) |
|
|
overridevirtualslot |
◆ DisConnect
int CConnecterThread::DisConnect |
( |
| ) |
|
|
overridevirtualslot |
◆ GetViewer()
QWidget * CConnecterThread::GetViewer |
( |
| ) |
|
|
overridevirtual |
◆ Initial()
int CConnecterThread::Initial |
( |
| ) |
|
|
overridevirtual |
◆ Load()
int CConnecterThread::Load |
( |
QSettings & |
set | ) |
|
|
overrideprivatevirtual |
◆ Save()
int CConnecterThread::Save |
( |
QSettings & |
set | ) |
|
|
overrideprivatevirtual |
◆ ServerName()
QString CConnecterThread::ServerName |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ slotScreenShot
void CConnecterThread::slotScreenShot |
( |
| ) |
|
|
virtualslot |
◆ slotValueChanged
void CConnecterThread::slotValueChanged |
( |
int |
v | ) |
|
|
privateslot |
◆ m_pFrmViewer
◆ m_pMenuZoom
QAction* CConnecterThread::m_pMenuZoom |
|
protected |
◆ m_psbZoomFactor
QSpinBox* CConnecterThread::m_psbZoomFactor |
|
protected |
◆ m_pScreenShot
QAction* CConnecterThread::m_pScreenShot |
|
protected |
◆ m_pScroll
◆ m_pThread
◆ m_pZoomAspectRatio
QAction* CConnecterThread::m_pZoomAspectRatio |
|
protected |
◆ m_pZoomIn
QAction* CConnecterThread::m_pZoomIn |
|
protected |
◆ m_pZoomOriginal
QAction* CConnecterThread::m_pZoomOriginal |
|
protected |
◆ m_pZoomOut
QAction* CConnecterThread::m_pZoomOut |
|
protected |
◆ m_pZoomToWindow
QAction* CConnecterThread::m_pZoomToWindow |
|
protected |
该类的文档由以下文件生成: