QT打开串口失败,提示QSerialPort::PermissionError

m_Serial = new QSerialPort();
  //设置串口名
m_Serial->setPortName(m_strSerialName);
//设置波特率
//m_Serial->setBaudRate(QSerialPort::Baud115200);
m_Serial->setBaudRate(m_BaudRate);
//设置数据位数
m_Serial->setDataBits(QSerialPort::Data8);
//设置奇偶校验
m_Serial->setParity(QSerialPort::NoParity);
//设置停止位
m_Serial->setStopBits(QSerialPort::OneStop);
//设置流控制
m_Serial->setFlowControl(QSerialPort::NoFlowControl);

//打开串口
if(!m_Serial->open(QIODevice::ReadWrite))
{
   QString str = QString("%1\n错误代码:%2\n%3").arg(m_strSerialName).arg(m_Serial->error()).arg(m_Serial->errorString());
   emit OpenError(str);
   return;
}

有时候能正常打开,有时候打开失败提示QSerialPort::PermissionError,完全找不到规律