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

Резултати

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

Пребарај: #nationsleague

当前筛选 #nationsleague清除筛选
🏆 Info 288 - DEPORTES

@info288_deportes · Post #35111 · 30.08.2024 г., 12:45

⚽️🇪🇺Nations League Lista de convocados de la selección de España para los 2 primeros partidos (Serbia y Suiza) de fase de grupos de la Nations League 2024/25#NationsLeague#España 🏆@Info288_deportes

🏆 Info 288 - DEPORTES

@info288_deportes · Post #35906 · 18.11.2024 г., 21:55

⚽️🇪🇺Nations League España 3-2 Suiza#NationsLeague#España#Suiza En el ropero de De la Fuente hay todo tipo de prendas. Un día hay brillo para los centrocampistas; otro, para los cohetes en las bandas; y también hay fechas para los revolucionarios, los Bryan. Bryan Gil y Bryan Zaragoza desatascaron un partido que iba hacia el fichero de los empates sin sal. https://www.marca.com/futbol/nations-league/cronica/2024/11/18/673b819722601d5b768b4597.html 🏆@Info288_deportes

🏆 Info 288 - DEPORTES

@info288_deportes · Post #35885 · 15.11.2024 г., 22:09

⚽️🇪🇺Nations League Dinamarca 1-2 España#NationsLeague#Dinamarca#España Con España en el césped la Liga de las Naciones hasta parece una idea brillante. No hay competición de baratija para este grupo. Copenhague fue la nueva estación para los reyes de Europa. El Parken danés fue un salón para que Dani Olmo enseñara una joyería, el mejor muestrario para sellar el liderato del grupo. https://www.marca.com/futbol/nations-league/cronica/2024/11/15/67378f2b46163fbb378b4570.html 🏆@Info288_deportes

🏆 Info 288 - DEPORTES

@info288_deportes · Post #35602 · 15.10.2024 г., 20:55

⚽️🇪🇺Nations League España 3-0 Serbia#NationsLeague#España#Serbia Mientras en Córdoba, tierra de sol, duende y misterio, llovía como en Bristol, España se puso a jugar al fútbol con el carnet de campeón de Europa entre los dientes. Un martes, una ola de ausencias, una Liga de las Naciones y un rival sin glamour no es suficiente para desconectar a la selección española. Laporte, Morata y Alex Baena sellaron un partido excelente. https://www.marca.com/futbol/seleccion/cronica/2024/10/15/670ea470268e3e6c328b4575.html 🏆@Info288_deportes

🏆 Info 288 - DEPORTES

@info288_deportes · Post #35587 · 12.10.2024 г., 21:05

⚽️🇪🇺Nations League España 1-0 Dinamarca#NationsLeague#España#Dinamarca En un partido que fue un corte de digestión, España se llevó tres puntos gracias a un derechazo de Zubimendi, otro goleador inesperado. Dinamarca llegó con la misión de revolver el desfile de España y casi lo logra. La oleada de ausencias se notó en la maquinaria española, pero siempre hay un último tablón que agarrar. Es lo que tienen los equipos campeones. https://www.marca.com/futbol/seleccion/cronica/2024/10/12/670ab2e7ca474113738b45a7.html 🏆@Info288_deportes

🏆 Info 288 - DEPORTES

@info288_deportes · Post #35244 · 08.09.2024 г., 21:09

⚽️🇪🇺Nations League Suiza 1-4 España#NationsLeague#Suiza#España España funciona en todos los circuitos. Primero se exhibió cuando el partido exigía etiqueta. Luego, resistió cuando había que tragar agua y comer barro con diez jugadores por expulsión de Le Normand. El campeón de Europa clavó una victoria de prestigio. Dos goles contra once y dos contra diez. Con los de De la Fuente no hay tripa llena. https://www.marca.com/futbol/nations-league/cronica/2024/09/08/66ddd8f346163f65608b4599.html 🏆@Info288_deportes

🏆 Info 288 - DEPORTES

@info288_deportes · Post #35215 · 05.09.2024 г., 21:01

⚽️🇪🇺Nations League Serbia 0-0 España#NationsLeague#Serbia#España La selección española empató a cero este jueves ante Serbia en la primera jornada del Grupo 4 de la Liga A de la Liga de Naciones, un partido que dominó y en el que fue de menos a más, aunque le faltó lo más importante, el gol, pese a convertir más de 20 remates, arrancando con un tropiezo la defensa del último título logrado en esta competición. Menos de dos meses después de levantar la Eurocopa, los pupilos de Luis de la Fuente, sin los sancionados Álvaro Morata y Rodri Hernández, tropezaron en su primer partido de la cuarta edición de la Nations League, en la que defienden trono. Un estreno con poco acierto ofensivo en un partido más abierto que lo esperado, al menos hasta la primera hora de juego. https://www.europapress.es/deportes/futbol-00162/noticia-espana-queda-gol-serbia-20240905224432.html 🏆@Info288_deportes