В PyQt6 можно использовать HTML для форматирования текста, который отображается на кнопке. Чтобы перенести текст на другую строку, вы можете использовать тег `<br>` в HTML-разметке. Вот как можно изменить ваш код, чтобы текст на кнопке переносился на новую строку при необходимости:
```python
for item in btn_list:
# Вместо прямого текста, добавляем тег <br> в HTML
button = QPushButton(item.replace(' ', '<br>')) # Пример: заменяем пробелы на переносы строки
button.setFixedWidth(1000)
button.setStyleSheet('''
white-space: pre-wrap;
text-align: center; # Центрирование текста
''')
button.setStyleSheet("QPushButton {text-align: center;}")
button.setText(item.replace(' ', '<br>')) # Заменяем пробелы на переносы строк
vlayout.addWidget(button)
```
Имейте в виду, что в таком примере пробелы заменяются на теги переноса строки. Вы можете использовать любую логику, чтобы решить, где должны быть перенесены строки.
Также стоит отметить, что в Qt есть некоторые ограничения по использованию HTML в кнопках, и не все стили могут работать должным образом. Поэтому в случае сложных требований к стилю кнопки может потребоваться более детальная настройка.
Обратите внимание, что форматирование через HTML может не поддерживать некоторые CSS-свойства, поэтому вам может понадобиться экспериментировать с разными стилями, чтобы добиться желаемого результата.