菜单

我串口接收到某一标志后,需要修改其他窗体 字体颜色,代码怎么操作?

下载

以下内容以窗体Frm01为例,需要修改成用户实际的窗体ID

1.打开头文件Frm01.h,在/CUSTOM_CODE_BEGIN/与/CUSTOM_CODE_END/两行之间声明一个类成员函数,如

language 复制代码
/*CUSTOM_CODE_BEGIN*/
void testSomething(int flag);//注意:放在其他位置不会被保存
/*CUSTOM_CODE_END*/
  1. 打开代码文件Frm01.cpp,在最后定义该类成员函数,如
language 复制代码
void Frm01::testSomething(int flag) {
  //可打开代码助手:在此行处右击->按C->按C(没错,2次, 如图1)
  //在代码助手中找到要改变颜色的控件:右击->文字->设置颜色(如图2)
  //生成的修改颜色代码如下
  int color = 0x0;
  if(flag == 1) color = 0xff0000;
  if(flag == 2) color = 0xff00;
  //...用户根据flag用途修改color值
  wMList4->getStyle()->p_text->setColor(color/*RGB颜色*/, Part::Main | WidgetState::DEFAULT/*部件与状态*/);
}

图1:

图2:

  1. 在串口接收处,调用Frm01::testSomething()方法
language 复制代码
int flag = 1;//根据接收值修改flag
Frm01* p = dynamic_cast<Frm01*>(pm->getPage("Frm01"));
if(p)p->testSomething(flag);
else cout<<"Frm01未打开"<<endl;
上一个
如何加入第三方动态库
下一个
通讯驱动相关
最近修改: 2025-10-07Powered by