Чтобы добавить новую переменную, которая будет хранить значение времени из выпадающего окна `QComboBox`, вам нужно убедиться, что в `ComboBox1` добавлены необходимые строки с временными интервалами. Затем вы можете получить выбранное значение и добавить его к вашему коду.
Вот пример кода, в котором мы добавляем в `QComboBox` временные интервалы (1 минута и 5 минут) и обновляем логику для выполнения запросов в базе данных:
```python
import sys
from PyQt5 import QtWidgets
import sqlite3
import pandas as pd
class MyApp(QtWidgets.QWidget):
def __init__(self):
super().__init__()
# Создание ComboBox1 для выбора времени
self.comboBox1 = QtWidgets.QComboBox(self)
self.comboBox1.addItems(["10 минут", "1 час", "1 день", "1 минута", "5 минут"])
# Кнопка для поиска в базе данных
self.button = QtWidgets.QPushButton('Поиск', self)
self.button.clicked.connect(self.search_database)
# Создание Layout
layout = QtWidgets.QVBoxLayout()
layout.addWidget(self.comboBox1)
layout.addWidget(self.button)
self.setLayout(layout)
def get_time_value(self):
selected_time = self.comboBox1.currentText()
if selected_time == "10 минут":
return 10 # здесь можно установить значение, используемое для запроса
elif selected_time == "1 час":
return 60
elif selected_time == "1 день":
return 1440
elif selected_time == "1 минута":
return 1
elif selected_time == "5 минут":
return 5
else:
return 0
def search_database(self):
time_value = self.get_time_value()
# Подключение к базе данных
connection = sqlite3.connect('your_database.db')
cursor = connection.cursor()
# Пример SQL-запроса, который использует time_value
query = f"SELECT * FROM your_table WHERE time_column <= ?"
cursor.execute(query, (time_value,))
# Получаем результаты
results = cursor.fetchall()
# Сохранение результатов в Google Sheets или Excel
self.save_to_excel(results)
connection.close()
def save_to_excel(self, results):
df = pd.DataFrame(results)
df.to_excel('output.xlsx', index=False)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec_())
```
### Объяснения:
1. **ComboBox**: Мы используем `self.comboBox1` для выбора временных интервалов. Заданы новые значения: "1 минута" и "5 минут".
2. **Метод `get_time_value`**: Этот метод возвращает количество минут в зависимости от выбранного значения в `ComboBox`. Временные значения конвертируются в минуты для простоты.
3. **SQL-запрос**: Используется `time_value` как параметр в SQL-запросе.
4. **Сохранение в Excel**: Используется библиотека pandas для сохранения результатов запроса в файл Excel.
### Напоминание:
Не забудьте установить библиотеки `PyQt5` и `pandas`, если они еще не установлены, с помощью команд:
```bash
pip install PyQt5 pandas openpyxl
```
Также корректируйте SQL-запрос в зависимости от вашей базы данных и структуры таблицы.