首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

Qt中发送一个信号,slot函数没完成,再发一个相同的信号会怎样

2013-04-20 
Qt中发送一个信号,slot函数没有完成,再发一个相同的信号会怎样void CLabel::mousePressEvent(QMouseEvent

Qt中发送一个信号,slot函数没有完成,再发一个相同的信号会怎样

void CLabel::mousePressEvent(QMouseEvent *e)
{
if(e->button()==Qt::LeftButton)
{
setMousePressFlag(true);
emit signalLabelPress(this);
}

connect(label, SIGNAL(signalLabelPress(CLabel*)), this, SLOT(slotChangeCurrentPage(CLabel*)));

void DataBrain::slotChangeCurrentPage(CLabel *label)
{
int index = 0;

for (int i = 0; i < WINDOW_PAGE_COUNT; i++)
{
if (label == m_pLabelBtnArray[i])
{
index = i;
break;
}
}

if (index < m_currentFgIndex)
{
while(index != m_currentFgIndex)
{
m_currentFgIndex--;
moveCurrentPage(false);
}
}
else if (index > m_currentFgIndex) //点击右边的按钮 左移
{
while(index != m_currentFgIndex)
{
m_currentFgIndex++;
moveCurrentPage(true);
}
}
}
Qt c++ 信号 槽
[解决办法]
主线程里按顺序执行,第一个没运行完,不会运行第二个。
不使用多线程读写一个大文件,连界面都会被卡住,就是这个原因。

热点排行