Appearance
自定义指令
在TeachPendantDemo中,建立三个文件
在widget_mannager.cpp中将signal_userdefine_cmd_init与signal_userdefine_cmd_alter这两个信号和我们的界面绑定起来
cpp
WidgetManager::WidgetManager(QObject *parent) :
QObject(parent)
{
Nextp::getInstance();
// 注册my_custom_widget界面
connect(Nextp::getInstance(),SIGNAL(signal_openWidget()),this,SLOT(slot_openMyCustomWidget()));
// 注册my_custom_command界面
connect(Nextp::getInstance(),SIGNAL(signal_userdefine_cmd_init(int)),this,SLOT(slot_openMyCustomCommand(int)));
connect(Nextp::getInstance(),SIGNAL(signal_userdefine_cmd_alter(int,QString,QString)),this,SLOT(slot_modifyMyCustomCommand(int,QString,QString)));
// 注册关闭界面的信号,收到这个系统信号需要关闭所有custom界面
connect(Nextp::getInstance(),SIGNAL(signal_closeWidget()),this,SLOT(slot_closeAllCustomWidget()));
// 注册接收到控制器消息的回调
connect(Nextp::getInstance(),SIGNAL(signal_receiveMessage(const quint16 &,const QByteArray &)),this,SLOT(slot_receiveMessage(const quint16 &,const QByteArray &)));
}
void WidgetManager::slot_openMyCustomCommand(int)
{
Nextp::getInstance()->setWidgetParentLocation((QWidget*)MyCustomCommand::getInstance(),86,96);
MyCustomCommand::getInstance()->show();
MyCustomCommand::getInstance()->raise();
Nextp::getInstance()->widgetShowFinish();
}第一个信号是绑定打开事件,第二个信号是绑定修改事件。
在实现slot_openMyCustomCommand是打开一个全新的custom_commamd.ui
在实现slot_modifyMyCustomCommand是打开一个界面,并根据int,QString,QString这三个参数,初始化界面。
- my_custom_command.h
- my_custom_command.cpp
- my_custom_command.ui