这个有点复杂,能否能写个简单的
时间: 2024-03-26 09:34:18 浏览: 19
当然可以,以下是一个更简单的示例代码,可以在QT中显示USB设备列表到QTextEdit控件中:
```cpp
#include <QMainWindow>
#include <QPushButton>
#include <QProcess>
#include <QTextEdit>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
private slots:
void showUSBList();
private:
QPushButton *m_btnShowUSBList;
QTextEdit *m_textEdit;
};
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
// 创建QPushButton按钮和QTextEdit控件
m_btnShowUSBList = new QPushButton("Show USB List", this);
m_textEdit = new QTextEdit(this);
// 设置QPushButton按钮的位置和大小
m_btnShowUSBList->setGeometry(10, 10, 120, 30);
// 设置QTextEdit控件的位置和大小
m_textEdit->setGeometry(10, 50, 400, 300);
// 将QPushButton按钮与槽函数连接
connect(m_btnShowUSBList, &QPushButton::clicked, this, &MainWindow::showUSBList);
}
void MainWindow::showUSBList()
{
// 运行系统命令,获取USB设备列表
QProcess process;
process.start("lsusb");
process.waitForFinished();
QString output = process.readAllStandardOutput();
// 将USB设备列表显示在QTextEdit控件中
m_textEdit->setText(output);
}
```
在这个示例代码中,我们创建了一个QPushButton按钮和一个QTextEdit控件,并将按钮的clicked信号连接到showUSBList()槽函数上。在showUSBList()函数中,我们使用QProcess类运行系统命令"lsusb",并将命令输出显示在QTextEdit控件中。
这个示例代码较为简单,但仍然可以满足显示USB设备列表的需求。