⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clientareadlg.cpp

📁 为电力系统开发保护设备装置通讯的源代码 采用串口通讯, ret hat 9下 QT开发
💻 CPP
字号:
#include <qtable.h>#include <qtextbrowser.h>#include "clientareadlg.h"#include "baseclass/publicclass.h"#include <qpopupmenu.h> #include <qcursor.h> extern CPublicClass g_PublicClass;CClientAreaDlg::CClientAreaDlg( QWidget * parent, const char * name)	:CEditBaseDialog(parent,name)//:QWidget(parent,name){    m_Splitter=new QSplitter(this);	    m_Splitter->setOrientation(Qt::Vertical);    m_Splitter->setOpaqueResize(TRUE);    m_DeviceListView = new CListView(m_Splitter,"");        m_MsgInfo = new QTabWidget(m_Splitter,"");    QTextBrowser *txb0=new QTextBrowser(this,"");    txb0->setTextFormat(Qt::AutoText);    QTextBrowser *txb1=new QTextBrowser(this,"");    txb1->setTextFormat(Qt::AutoText);    QTextBrowser *txb2=new QTextBrowser(this,"");    txb2->setTextFormat(Qt::AutoText);    m_MsgInfo->addTab(txb0,_T("消息日志"));    m_MsgInfo->addTab(txb1,_T("接收报文"));    m_MsgInfo->addTab(txb2,_T("发送报文"));		connect(m_DeviceListView,SIGNAL(rightButtonClicked(QListViewItem *, const QPoint &, int)), this, 			SLOT(on_RightButtonClicked(QListViewItem *, const QPoint &, int)));	    InitDeviceListHeader();	m_iEquipNo = 0;}void CClientAreaDlg::InitDeviceListHeader(){    m_DeviceListView->addColumn(_T("编号"),120);    m_DeviceListView->addColumn(_T("名称"),180);    m_DeviceListView->addColumn(_T("状态"),80);    m_DeviceListView->addColumn(_T("通讯方式"),80);    m_DeviceListView->addColumn(_T("通讯状态"),80);    m_DeviceListView->setRootIsDecorated( TRUE );    m_DeviceListView->setTreeStepSize( 20 ); }void CClientAreaDlg::on_RightButtonClicked(QListViewItem* item, const QPoint& mousePoint, int button){	if (!item || mousePoint.x() < 0 || button < 0) return;	CListViewItem* pItem = (CListViewItem*)item;	if (!pItem) return;		QString szKey = pItem->GetKeyIndexText();	g_PublicClass.m_NodeManage.FindDeviceNo(szKey,m_iEquipNo);	QPopupMenu* pMenu = new QPopupMenu();	pMenu->insertItem(_T("显示报文"), this, SLOT(onActiveFunction(int)), 0, 1);	pMenu->insertItem(_T("停止显示"), this, SLOT(onActiveFunction(int)), 0, 2);	pMenu->exec(QCursor::pos());}void CClientAreaDlg::onActiveFunction(int id){	switch (id)	{	case 1://显示报文		{			g_PublicClass.m_MonitorData.m_SrcFlag = 3;			g_PublicClass.m_MonitorData.m_MachineNo = m_iEquipNo;		}		break;	case 2://停止显示		{			g_PublicClass.m_MonitorData.m_SrcFlag = 0;			g_PublicClass.m_MonitorData.m_MachineNo = 0;		}		break;	default:		break;	}}CClientAreaDlg::~CClientAreaDlg(){    return;}void CClientAreaDlg::resizeEvent ( QResizeEvent *e){    m_Splitter->setGeometry(QRect::QRect(m_Splitter->x(),m_Splitter->y(),e->size().width(),e->size().height()));}    //设定滑动的左或顶的宽度void CClientAreaDlg::setTopHeight(int iHeight,QWidget* pWnd){    QValueList<int> topl;    if(iHeight<=0) return;    if(pWnd==NULL) return;    QSplitter *p=(QSplitter *)pWnd;    topl.append(iHeight);p->setSizes(topl);}//////////////////////////////////////////////////////////////////////////////////////////////////////////////void CClientAreaDlg::SetMsgInfo(int flag,QString sMsg){    if(flag==0)	SetMsgMainModule(sMsg);}void CClientAreaDlg::SetMsgMainModule(QString sMsg){    QTextBrowser *txb=(QTextBrowser*)m_MsgInfo->page(0);    txb->append(sMsg);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -