#include "combobox.h" ComboBox::ComboBox(QWidget *parent) : QComboBox(parent) { // 扫描可用串口 scanActivePort(); } ComboBox::~ComboBox() { } // 扫描可用串口 void ComboBox::scanActivePort() { // 先清空列表项,防止多次刷新后重叠 clear(); // 串口端口号列表 QStringList serialPortName; // 自动扫描当前可用串口,返回值追加到字符数组中 foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts()){ serialPortName << info.portName(); } // 可用串口号,显示到串口选择下拉框中 this->addItems(serialPortName); } // 重写鼠标点击事件 void ComboBox::mousePressEvent(QMouseEvent *event) { if(event->button() == Qt::LeftButton) { // 扫描可用串口 scanActivePort(); // 弹出下拉框 showPopup(); } }