@newtgingrich · Post #4714 · 23.05.2023 г., 13:45
#newtgingrich : RT @AmerNewMajProj: Just 1 in 5 Americans agree with Biden and the Democrats that slowing the rate of spending increases is an irresponsible cut. https://t.co/Z6QdnPa5iW
Hashtags
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
Пребарај: #newtgingrich
@newtgingrich · Post #4714 · 23.05.2023 г., 13:45
#newtgingrich : RT @AmerNewMajProj: Just 1 in 5 Americans agree with Biden and the Democrats that slowing the rate of spending increases is an irresponsible cut. https://t.co/Z6QdnPa5iW
Hashtags
@newtgingrich · Post #4713 · 23.05.2023 г., 08:44
#newtgingrich : RT @SpeakerMcCarthy: President Biden and I just had a productive meeting in our negotiation to responsibly raise the debt limit. It should have happened months ago, but there is a path for him to avoid defaulting on the debt. https://t.co/u3rDJmrl7v
Hashtags
@newtgingrich · Post #4712 · 23.05.2023 г., 00:43
#newtgingrich : I'll be on Hannity tonight at 9:00 pm ET. Watch on @FoxNews@seanhannity
Hashtags
@newtgingrich · Post #4711 · 22.05.2023 г., 23:44
#newtgingrich : RT @AmerNewMajProj: 75 percent of Americans support abortion restrictions of some kind. https://t.co/vbRbF5w3LI
Hashtags
@newtgingrich · Post #4710 · 22.05.2023 г., 18:46
#newtgingrich : The American people see strong leadership from Speaker Kevin McCarthy, and the latest polls have his favorability as the highest among Congressional leadership. https://t.co/nv7UcCb3Tc
Hashtags
@newtgingrich · Post #4709 · 22.05.2023 г., 17:44
#newtgingrich : RT @GOP: .@SpeakerMcCarthy: “The Democrats since they took the majority have been addicted to spending and that’s going to stop. We’re going to spend less than we spent last year.” https://t.co/cqu1xLLsWA
Hashtags
@newtgingrich · Post #4708 · 22.05.2023 г., 17:44
#newtgingrich : RT @CallyGingrich: Human trafficking survivors recently testified before members of the U.S. House of Representatives about the need for lawmakers to pass legislation to increase resources for survivors and expand efforts to hold perpetrators accountable. https://t.co/MedJ3mILN0https://t.co/oeqSNDl86E
Hashtags
@newtgingrich · Post #4706 · 21.05.2023 г., 22:43
#newtgingrich : RT @SpeakerMcCarthy: I literally asked the president: "What is the number? How much debt must America have before you say, 'let's stop borrowing from China?'" https://t.co/nAd1wMtDOw
Hashtags
@newtgingrich · Post #4705 · 21.05.2023 г., 21:43
#newtgingrich : RT @SpeakerMcCarthy: Just got off the phone with the president while he’s out of the country. My position has not changed. Washington cannot continue to spend money we do not have at the expense of children and grandchildren. Tomorrow, he and I will meet in person to continue negotiations.
Hashtags
@newtgingrich · Post #4704 · 21.05.2023 г., 17:43
#newtgingrich : The University of Austin, TX, is taking a new innovative approach to improving the American education model. Interesting reading. @AcademicRenewal https://t.co/I1dEFJnKuq
Hashtags
@newtgingrich · Post #4702 · 21.05.2023 г., 13:43
#newtgingrich : We are a lot closer to the Biden default with the President’s game playing and arrogance. House Republicans will NEVER support a Biden tax increase. Biden’s comments in Japan were dishonest and destructive. If we default it will be Biden who forced it.
Hashtags
@newtgingrich · Post #4701 · 21.05.2023 г., 13:43
#newtgingrich : Speaker McCarthy and House Republicans have a tremendous opportunity to create a better American future. @amspectator https://t.co/ibQaV07PsC
Hashtags