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

Резултати

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

Пребарај: #task2

当前筛选 #task2清除筛选
Fluent English™

@English_easyly_learn · Post #1102 · 23.08.2018 г., 17:47

✏️Task 2: The 5 types of essay questions. 1️⃣ Advantages and Disadvantages essay 2️⃣ Opinion Essays (Agree or Disagree) 3️⃣ Discussion essay (Discuss both views, often asks for your opinion) 4️⃣ Two part Question essay (or Direct Question Essay) 5️⃣ Problem Solution essay (sometimes called a Causes Solution Essay) 👌🏻Share this with your friends! and help them also IELTS effectively! #task2 @English_easyly_learn

Hashtags

Fluent English™

@English_easyly_learn · Post #1101 · 23.08.2018 г., 17:46

✏️Task 2: You need to know these rules before writing task 2 essays! 👉In the Academic IELTS writing exam task 2, there are 5 types of questions and each of these have a slightly different approach, I meant a small difference! IELTS essays are discursive essays and not the same type of essay you would have to write at University for instance. ☝🏻There is a minimum word count of 250 words and no more than 5 body paragraphs in these essays. You need to analyse the question first, find the issues in the question, plan and organise ideas, write supporting points and specific examples, paraphrase well, give a good introduction and conclusion. There is a lot to do. 👌🏻Share this with your friends! and help them also IELTS effectively! #task2 @English_easyly_learn

Hashtags

Erkinov Otabek || IELTS

@cambridgeieltsbooks · Post #4105 · 23.03.2024 г., 00:59

✅Writing Time 📝Writing task 2 insho savoli o'z ichida 3 qismga boʻlinadi va ular introduction(kirish) qismida quyidagicha o'zgartirilishi kerak. 🍇Background statement (umumiy insho mavzusi) 🍎Specific statement (aniq talab etilayotgan insho mavzusi) 🍓Question (insho savoli) ‼️Ana endi keling, insho kirish qismini qismma-qism yozib chiqaylik. 🍇 When a country develops its technology, traditional skills and ways of life die out.🔁With the development of technology, a nation loses its traditional skills and way of life. 🍎 It is pointless to try and keep them alive. 🔁Many believe that these become irrelevant and there is no use trying to maintain them. 🍓To what extent do you agree or disagree with this? 🔁I completely disagree, however, and will explain why I believe keeping a nation's traditional skills and lifestyle is important, despite the rise of new technologies. If you find it useful, don't forget to share with your friends ☺️ #writing#task2#IELTSprep ❤️Sharing is caring❤ ©️Channel:@cambridgeieltsbooks