Регулярно приходится писать и ревьюить код, где используется PySide2-6.
Заметил, что в подавляющем большинстве случаев настройка создаваемых базовых виджетов происходит через методы. Думаю, всем знаком такой способ.
Простой пример с кнопкой:
button = QPushButton("Click Me")
button.setMinimumWidth(300)
button.setFlat(True)
button.setStyleSheet("font-size: 20pt")
button.setToolTip("Super Button")
button.clicked.connect(lambda: print("Button clicked"))
Но есть и альтернативный способ - настройка через свойства. Это просто ключевые аргументы конструктора класса. Хоть они и не указаны в документации как аргументы, но они есть)
Этот код делает тоже самое но с помощью Property
button = QPushButton(
"Click Me",
minimumWidth=300,
flat=True,
styleSheet="font-size: 20pt",
toolTip="Super Button",
clicked=lambda: print("Button clicked"),
)
Где это может быть полезно
▫️ Это выглядит более аккуратно и коротко, уже повод использовать
▫️ Может использоваться в заполнении лейаута, когда нам не нужно никакое другое взаимодействие с виджетом и поэтому сохранять его в переменную не требуется. Например, лейбл или кнопка.
widget = QWidget(minimumWidth=400)
layout = QHBoxLayout(widget)
layout.addWidget(QLabel("Button >", alignment=Qt.AlignRight))
layout.addWidget(QPushButton("Click Me", clicked=lambda: print("Button clicked")))
widget.show()
Либо так
widget = QWidget(minimumWidth=400)
layout = QHBoxLayout(widget)
for wd in (
QLabel("Button >", alignment=Qt.AlignRight),
QPushButton("Click Me", clicked=lambda: ...)
):
layout.addWidget(wd)
widget.show()
▫️ Можно хранить настройки в каком-то конфиге или генерировать на лету, после чего передавать как kwargs.
kwargs = {"text": "Hello " * 30, "wordWrap": True}
my_label = QLabel(**kwargs)
Как получить полный список доступных свойств?
Эта функция распечатает в терминал все свойства виджета и их текущие значения
def print_widget_properties(widget):
meta_object = widget.metaObject()
for i in range(meta_object.propertyCount()):
property_ = meta_object.property(i)
property_name = property_.name()
property_value = property_.read(widget)
print(f"{property_name}: {property_value}")
#tricks#qt
#writing
@ieltsstrategies
🖌📕Make the most of your Writing test:
@ieltsstrategies
• analyse each task properly and spend some time making notes
• highlight or underline key words in the tasks to make sure that you focus on what you have to do
• plan your answers
• use paragraphs clearly; put one idea in each paragraph
• do not repeat ideas using different words
• do not copy whole sentences from the question – you will receive no marks for this
• keep to the topic; do not write about unrelated subjects
• manage your time; remember, Task 2 is worth twice as much as Task 1
• spend approximately 20 minutes on Task 1 and approximately 40 minutes on Task 2
• you must write your answers in full; answers written in note form or in bullet points will lose marks
@ieltsstrategies
• pay attention to spelling, grammar and punctuation; you will lose marks for mistakes
• avoid informal language
• do not memorise model answers; examiners are trained to recognise them and your test will be invalid
• spend several minutes re-reading and correcting your answers
@ieltsstrategies
#writing
✅ Writing time
🔰 Task 1 (Pie charts 🧇 )
✌️ 2-qism
🧇 Pie charts yozish uchun bu ajoyib qo'llanma o'z ichiga turli foydali mashq va so'zlarni olgan bo'lib foydali bo'ladi degan umiddaman.
♻️@cambridgeIELTSbooks
#writing
✅ Writing time
🔰 Task 1
☺️Sizlarga qanday qilib Task 1 savolini Paraphrase qilishni va shu asosida introduction yozishni o'rgataman. Agar foydali deb hisoblasangiz,ulashing.
♻️@cambridgeIELTSbooks
#writing
✅ Writing time
🔰 Task 1 (Line graph 📉📈)
✌️2-qism
📈 Line graph yozish uchun bu ajoyib qo'llanma o'z ichiga turli foydali mashq va so'zlardan iborat bo'lib foydali bo'ladi degan umiddaman.
♻️@cambridgeIELTSbooks
#writing
Qani endi mana bu task 1 uchun tayyorlagan kichik qo’llanmani ilingchi. Ha evaziga izohlarda “ rahmat “ deb yozib qoldirish “tekin” aytib qo’yay😁. Oldingi postda qoldiribsizlarku, shundan ilhomlanib “tishimni kavagida” saqlayotganlarimni ham ulashyapman aytib qo’yay🤪.
👍@cambridgeieltsbooks
Ayrimlar hatto like bosish pullik deb o’ylaydimi deymanda “reaction”lar kamligini ko’rib ba’zan.
✅Writing time
This book is written by a certified professional IELTS instructor who scored Band 9.0 in Academic IELTS.
It provides useful tips and academic word lists for IELTS writing Task 1.
Sharing is caring🔥✊
#writing
✅Channel: @cambridgeIELTSbooks
✅Writing time
▶️TYPES OF IELTS WRITING TASK-2 QUESTIONS
1️⃣Discuss both views and give your opinion?
2️⃣Do you think the advantages outweigh disadvantages?
3️⃣What are the advantages and disadvantages?
4️⃣Is it a positive or a negative development?
5️⃣What are the problems/reasons/causes for this? What would you suggest as a solution?
6️⃣What are the reasons/causes? And how it affects? /what are the effects? /consequences?
7️⃣What are the reasons for this change? Is it a positive or a negative development?
8️⃣To what extent do you agree or disagree?
9️⃣How far do you agree or disagree?
1️⃣0️⃣Do you agree or disagree?
❗️Please note that serial numbers 8, 9 & 10 have the same essay structure
#writing
♻️Sharing is caring🤓
✅Channel: @cambridgeIELTSbooks
✅IELTS WRITING
▶️In this mini-book you will know types of writing task 1 and academic vocabulary to use.
#writing
🤓Kanalga qo'shiling 👇
⭐️@cambridgeIELTSbooks
YouTube|Instagram|Telegram
3 本写作书籍
https://x.com/lennysan/status/1918418517063512088
Lenny Rachitsky 最近推荐了对他写作帮助最大的 3 本书籍,On Writing Well、Nobody wants to read your sh*t、Several short sentences about writing。
这种可以直接 Deep Research 过一遍,感兴趣的可以选择性阅读,前面我们也分享了很多写作合集,参考、精进。
相关链接
关于如何写作丨主题分享
#writing