Как сделать выбор камер на PyQt5?
Всем доброго времени суток. Я хочу сделать выборку камер на PyQt5. Дела в том что у меня есть несколько камер. И мне нужно сделать выборку камер. И так у меня есть не большой код который выводить все подключенные камеры.
Вот сам код:
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
import sys
import cv2
class Mess_Window(QDialog):
def __init__(self, camer):
super().__init__()
self.setWindowTitle("AS technology")
self.setFixedSize(300, 200)
self.camera = camer
self.wid_vh = QWidget(self)
self.wid_vh.resize(300, 200)
self.wid_vh.setStyleSheet("background-color: rgb(85, 170, 175);")
self.label_1 = QLabel("Выберети камеру", self.wid_vh)
font = QFont()
font.setPointSize(15)
self.label_1.setFont(font)
self.label_1.move(70, 10)
self.chek_1 = QLabel("1", self.wid_vh)
self.chek_2 = QLabel("2", self.wid_vh)
self.chek_3 = QLabel("3", self.wid_vh)
self.chek_4 = QLabel("4", self.wid_vh)
self.chek_5 = QLabel("5", self.wid_vh)
self.chek_6 = QLabel("6", self.wid_vh)
self.chek_7 = QLabel("7", self.wid_vh)
self.chek_8 = QLabel("8", self.wid_vh)
self.chek_1.move(80, 50)
self.chek_2.move(80, 90)
self.chek_3.move(80, 130)
self.chek_4.move(80, 170)
self.chek_5.move(170, 50)
self.chek_6.move(170, 90)
self.chek_7.move(170, 130)
self.chek_8.move(170, 170)
self.chek_1.hide()
self.chek_2.hide()
self.chek_3.hide()
self.chek_4.hide()
self.chek_5.hide()
self.chek_6.hide()
self.chek_7.hide()
self.chek_8.hide()
index = 0
camera_indexes = []
max_numbers_of_cameras_to_check = 10
while max_numbers_of_cameras_to_check > 0:
capture = cv2.VideoCapture(index)
if capture.read()[0]:
camera_indexes.append(index)
if len(camera_indexes) == 1:
self.chek_1.show()
elif len(camera_indexes) == 2:
self.chek_1.show()
self.chek_2.show()
elif len(camera_indexes) == 3:
self.chek_1.show()
self.chek_2.show()
self.chek_3.show()
elif len(camera_indexes) == 4:
self.chek_1.show()
self.chek_2.show()
self.chek_3.show()
self.chek_4.show()
elif len(camera_indexes) == 5:
self.chek_1.show()
self.chek_2.show()
self.chek_3.show()
self.chek_4.show()
self.chek_5.show()
elif len(camera_indexes) == 6:
self.chek_1.show()
self.chek_2.show()
self.chek_3.show()
self.chek_4.show()
self.chek_5.show()
self.chek_6.show()
elif len(camera_indexes) == 7:
self.chek_1.show()
self.chek_2.show()
self.chek_3.show()
self.chek_4.show()
self.chek_5.show()
self.chek_6.show()
self.chek_7.show()
elif len(camera_indexes) == 8:
self.chek_1.show()
self.chek_2.show()
self.chek_3.show()
self.chek_4.show()
self.chek_5.show()
self.chek_6.show()
self.chek_7.show()
self.chek_8.show()
capture.release()
index += 1
max_numbers_of_cameras_to_check -= 1
self.wid_vh.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
ui = Mess_Window(1)
ui.show()
sys.exit(app.exec_())
И так немного по коду. Тут проверяется какие камеры подключены и выводить их индекс. И так что мне конкретно нужно. Мне нужно сделать выбор. То есть если у меня подключено 4 камеры и я хочу использовать 3 камеру, то я просто указываю что 3 камера будет использоваться.
Вот не большое представление:
И так мне нужно что бы при клике правой кнопки мыши выходила окошка как на картинке!!!. и после выбора мне нужно информация что она стало основной то есть вывести в консоль надпись что такое камера стало основной или же удалена из основной.