@Nomad01290 · Post #4089 · 28.06.2022 г., 22:55
An approachable introduction to assembly. https://github.com/hackclub/some-assembly-required #programming
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
Пребарај: #programming
@Nomad01290 · Post #4089 · 28.06.2022 г., 22:55
An approachable introduction to assembly. https://github.com/hackclub/some-assembly-required #programming
Hashtags
@Nomad01290 · Post #4077 · 02.05.2022 г., 14:28
Text based cheatsheets for programming languages, tools and such. https://github.com/LeCoupa/awesome-cheatsheets #programming
Hashtags
@katalogtelegram · Post #1051 · 19.12.2016 г., 13:00
📢Front-end Developer News No matter you are a programmer or not, fill your insights on this channel. We share information, tips, and tricks to humor about the frontend developer every day and every time. #programming#channel
Hashtags
@Nomad01290 · Post #4068 · 10.03.2022 г., 16:09
A series of mixes intended for listening while programming to focus the brain and inspire the mind https://musicforprogramming.net/ #music#programming
Hashtags
@Nomad01290 · Post #4067 · 10.03.2022 г., 16:06
Frescobaldi is a LilyPond sheet music text editor. https://github.com/frescobaldi/frescobaldi #music#programming
Hashtags
@tsukassadrive · Post #1627 · 20.05.2024 г., 10:03
#meme#weebshit#programming source
Hashtags
@realSpencerWoo · Post #33 · 17.12.2019 г., 08:45
#技术#Programming 📻 来观赏一下用最美丽的古典文学撰写代码的快感:wenyan-lang GitHub | Online IDE 绿蚁新醅酒,红泥小火炉。晚来天欲雪,能饮一杯无?wenyan-lang 让我们借助于中国古典文言文来编写程序,之后我们即可将文言文编译为清晰的 JavaScript 或者 Python 代码,并直接运行。wenyan-lang 的语法很好理解,比如我们声明三个变量:var a=1, b=3, c=5;。用 wenyan-lang 来撰写即为: 吾有三數。曰一。曰三。曰五。名之曰「甲」曰「乙」曰「丙」。 另外,作者还给出了包括快排、斐波那契数列、汉诺塔等等经典问题或者算法的样例,位于 GitHub - wenyan-lang/examples,有兴趣的同学可以前往观摩。编写好的 wenyan-lang 代码,还可以通过编译器自带的 render.js 渲染为一张优美的 svg 图片,高贵。👍 📮 Via channel: @realSpencerWoo
Hashtags
@The2ndDim · Post #1526 · 22.09.2021 г., 20:18
#转发#WTF#Programming https://t.me/programmer_humor/35190 “为缩进符号大战贡献了一点小小的力量。” -- 使用制表符(Tab)缩进 -- 使用空格缩进 -- 使用分号缩进 // WHAT?? 还有这种操作??
Hashtags
@earth_climate_tech · Post #291 · 15.05.2023 г., 16:00
Карта планеты GitHub Посмотрите какой забавный проект - Map Of Github🤩. Каждая точка — это проект GitHub. Размер точки указывает на количество звезд, которые получил проект. Точки соединены в виде графа и образуют кластеры, которые автор объединяет в страны! На карте более 400 000 проектов, сгруппированных по 1100 странам планеты GitHub. Названия стран прикольные - Land of Unity, Hackistan и конечно мои любимые AILandia и Pythonia! В AILandia есть мои любимые штаты - U.S. of Climate, Maplands и Undegrounds, где живут проекты Earth&Climate Tech! Можно нажать на проект, посмотреть его описание и заценить схожие проекты (как на картинке с проектом GemPy). Практического значения может и немного, но визуализация и исполнение просто 🔥! #software#programming
Hashtags
@neko_poly001 · Post #1041 · 12.03.2023 г., 08:31
https://jvns.ca/blog/2022/12/08/a-debugging-manifesto/#debugging#programming
Hashtags
@Nomad01290 · Post #4047 · 28.12.2021 г., 22:31
A console text editor for Unix systems with common shortcuts https://github.com/hishamhm/dit #cli#programming
Hashtags
@mw_public_channel · Post #791 · 23.02.2025 г., 19:17
https://nmn.gl/blog/ai-and-learning#programming@lilyshare#ai@lilyshare
Hashtags