capture_source_widget.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #pragma once
  2. #include <QWidget>
  3. #include <QComboBox>
  4. #include <QPushButton>
  5. #include <QHBoxLayout>
  6. #include <QGroupBox>
  7. #include <QVariant>
  8. class CaptureSourceWidget : public QWidget
  9. {
  10. Q_OBJECT
  11. public:
  12. explicit CaptureSourceWidget(QWidget* parent = nullptr);
  13. ~CaptureSourceWidget() = default;
  14. // 获取当前选中的捕获源索引
  15. int getCurrentIndex() const;
  16. // 获取当前选中的捕获源数据
  17. QVariant getCurrentData() const;
  18. // 获取当前选中的文本
  19. QString getCurrentText() const;
  20. // 设置启用状态
  21. void setEnabled(bool enabled);
  22. // 刷新捕获源列表
  23. void updateCaptureList();
  24. signals:
  25. // 捕获源文本改变信号
  26. void captureSourceTextChanged(const QString& text);
  27. // 捕获源索引改变信号
  28. void captureSourceIndexChanged(int index);
  29. // 刷新按钮点击信号
  30. void refreshRequested();
  31. private slots:
  32. void onComboBoxTextChanged(const QString& text);
  33. void onComboBoxIndexChanged(int index);
  34. void onRefreshButtonClicked();
  35. private:
  36. void setupUi();
  37. QComboBox* m_captureComboBox;
  38. QPushButton* m_updateListBtn;
  39. QGroupBox* m_captureGroup;
  40. QHBoxLayout* m_layout;
  41. };