TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #381 · 23 окт.

Установить свойства виджета в PySide можно не только через соответствующие методы и конструктор класса. Можно их изменять с помощью метода setProperty по имени. btn = QPushButton("Click Me") btn.setProperty("flat", True) Это аналогично вызову btn.setFlat(True) Если указать несуществующее свойство, то оно просто создается btn.setProperty("btnType", "super") Получить его значение можно методом .property(name) btn_type = btn.property("btnType") Когда это может быть полезно? ▫️Можно просто хранить какие то данные в виджете и потом их доставать обратно widget = QWidget() widget.setProperty('my_data', 123) print(widget.property('my_data')) ▫️ Назначая эти свойства разным виджетам можно потом отличить виджеты во время итераци по ним. Например, найти все кнопки со свойством my_data="superbtn". Но ведь вместо кастомного свойства можно использовать objectName, будет тот же результат. Да, но y ObjectName есть ограничение - только строки. ▫️ Если нам потребуется не просто поиск а, например, сортировка по числу, то свойства позволяют нам это сделать. Поддерживается любой тип данных widget.setProperty('my_data', {'Key': 'value'}) widget.setProperty('order', 1) all_widgets.sort(key=w: w.property('order')) Но ведь Python позволяет всё вышеперечисленное сделать простым созданием атрибута у объекта widget.order = 1 widget.my_data = 123 Да, но я думаю что не надо объяснять почему не стоит так делать. К тому же, если у виджета нет свойства то метод .property(name) вернет None, а отсутствующий атрибут выбросит исключение. ▫️ Действительно полезное применение кастомным свойствам - контроль стилей. Здесь атрибутами не обойтись, нужны именно свойства. Дело в том, что в селекторах стилей можно указывать конкретные свойства виджетов на которые следует назначать стиль. Просто запустите этот код from PySide2.QtWidgets import * if __name__ == "__main__": app = QApplication([]) widget = QWidget(minimumWidth=300) layout = QVBoxLayout(widget) btn1 = QPushButton("Action 1") btn2 = QPushButton("Action 2") btn3 = QPushButton("Action 3", flat=True) layout.addWidget(btn1) layout.addWidget(btn2) layout.addWidget(btn3) # добавим кастомное свойство одной кнопке btn1.setProperty("btnType", "super") # добавляем стили widget.setStyleSheet( """ QPushButton[btnType="super"] { background-color: yellow; color: red; } QPushButton[flat="true"] { color: yellow; } """ ) widget.show() app.exec_() С помощью селектора мы избирательно назначили стили на конкретные кнопки. Как получить список всех кастомный свойств? Функция получения списка кастомных свойств отличается от получения дефолтных. def print_widget_dyn_properties(widget): for prop_name in widget.dynamicPropertyNames(): property_name = prop_name.data().decode() property_value = widget.property(property_name) print(f"{property_name}: {property_value}") #tricks#qt

Hashtags

Резултати

Пронајдени 6 слични објави

Пребарај: #recognition

当前筛选 #recognition清除筛选
Libreware

@libreware · Post #1084 · 04.05.2022 г., 09:32

Vosk Speech Recognition Toolkit Vosk is an offline open source #speech#recognition toolkit. It enables speech recognition for 20+ languages and dialects - English, Indian English, German, French, Spanish, Portuguese, Chinese, Russian, Turkish, Vietnamese, Italian, Dutch, Catalan, Arabic, Greek, Farsi, Filipino, Ukrainian, Kazakh, Swedish, Japanese, Esperanto, Hindi, Czech. More to come. Vosk models are small (50 Mb) but provide continuous large vocabulary transcription, zero-latency response with streaming API, reconfigurable vocabulary and speaker identification. Speech recognition bindings implemented for various programming languages like Python, Java, Node.JS, C#, C++ and others. Vosk supplies speech recognition for chatbots, smart home appliances, virtual assistants. It can also create subtitles for movies, transcription for lectures and interviews. Vosk scales from small devices like Raspberry Pi or Android smartphone to big clusters. https://t.me/speech_recognition https://alphacephei.com/vosk https://github.com/alphacep/vosk-api

Libreware

@libreware · Post #1021 · 09.01.2022 г., 14:56

SongRec An open-source Shazam client for Linux, written in Rust. Features: • Recognize audio from an audio file. • Recognize audio from the microphone. • Usage from both GUI and command line. • Provide an history of the recognized songs. • Continuous song detection. • Ability to recognize songs from your speakers rather than your microphone. Download: https://github.com/marin-m/SongRec#installation https://github.com/marin-m/SongRec @foss_desktop #music#shazam#recognition

Libreware

@libreware · Post #1192 · 06.10.2023 г., 11:18

#Linux Desktop application that provides live #captioning FUTO Fellowship program interview; linux captions software 👉 Live Captions github: https://github.com/abb128/LiveCaptions 🔵 Q&A w/ billionaire alt-tech investor/philanthropist Eron Wolf https://www.youtube.com/watch?v=OJPmbcU-Vzo 🔵 FUTO Fellows program: https://futo.org/fellows/ 🔵 FUTO Youtube channel - @futotech ⚠️ Google's breaches of privacy have gone TOO FAR! https://www.youtube.com/watch?v=_vWAF13KigI #speech#recognition#stt#voice

Libreware

@libreware · Post #1114 · 09.03.2023 г., 22:58

https://writeout.ai #Transcribe and #translate any #audio file. 100% free to use. This website with source code available (it can be hosted locally) allows you to upload any audio file and receive a transcription and/or text translation. It uses OpenAI's Whisper API on the back end. Source on GitHub: https://github.com/beyondcode/writeout.ai #writeout#ai#speech#recognition