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

Резултати

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

Пребарај: #timecycles

当前筛选 #timecycles清除筛选
PRICE ACTION EXPERT

@priceactionexpert · Post #7666 · 04.08.2024 г., 09:53

https://x.com/priceactiongann/status/1820035146722189673 #nifty#gann Most Important: 17568/108=162.6666 its same as 1.62 = 1.618 or same Nifty high is connected to this cycle in time from nifty low March 24, 2020 to December 1 ,2020 =668 bars or trading days 668x1.618= 1080.1 or 1081 perfect high to all time high august 1. #timecycles Dec 1 there was high clean on top, (important for future also) 666 is very important as 1080/666=1.62 Nifty strongly works on 432 between 20 square 400 to 21 square 441 any markets u can see high or low there 555,666,777 (check these cycle in nifty it should give nice high and lows) also its midpoints. 400 to 441 (144 reverse is 441) 12 square and 21 square) 576 (23 and 24 square) 576/2 =288 (2x144) #numerology cycles of 108,144,216,270,288,432 previous time cycle dates i have posted which clearly shows the above cycles on charts which i used to find the august 1 and 2 date! #time 432/1.618 =266.99 (tunnel book cycle number 266) 270 is closely relate to 90. 267/2 =134 around and if u divide 267/1.618 = 165 432 #price In any circle or square half is very important gann also did that 1/2 ,1/4,1/8 1080/2=720 1080/4=270 1080/8=135 (from #nifty50 chart) hidden cycle: 555+165=720(half of 144) so from any high directly it gives numbers sometimes u have to add the waves to get the numbers and its vibrational cycles which are hidden hidden cycle: 113 square and 75 square =18,394 sqrt(18394)= 135.62 (135x2=270) hidden cycle: 122+148=270 SQUARE (122) + SQUARE (148) =36,788 sqrt(36788) =191 almost. high of nifty (chart see) #financialastrology#astrology#astronomy Many more are there these are just few examples. study again and again and practice more! if found helpful do like, comment and repost more! #stocks#stockmarket#stockmarketcrash#economy#trading#priceaction https://x.com/priceactiongann/status/1820035146722189673