631|0

274

帖子

8

TA的资源

纯净的硅(初级)

楼主
 

【STM32MP135F-DK】6-使用GTK建立桌面应用程序 [复制链接]

这次尝试使用python+gtk建立一个简单的桌面程序,去控制开发板上的LED。
首先使用vi在目录里建立一个hello.py的文件,代码如下:
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
win = Gtk.Window()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()

 

使用 python3 hello.py 运行这个python脚本,可以看到如下图的显示效果

 

下一步就是在界面上添加按键和按键的执行函数,代码如下
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
import gpiod
from gpiod.line import Direction, Value
class MyWindow(Gtk.Window):
    def __init__(self):
        super().__init__(title="CTRL LED")
        self.button = Gtk.Button(label="LED")
        self.button.connect("clicked", self.on_button_clicked)
        self.add(self.button)
        self.init_led()
        self.led_state = 0
    def init_led(self):
        self.led_request = gpiod.request_lines(
            "/dev/gpiochip9",
            consumer="ctrl-led",
            config={
                14:gpiod.LineSettings(
                    direction=Direction.OUTPUT,output_value=Value.ACTIVE
                )
            },
        )
    def on_button_clicked(self, widget):
        if self.led_state == 0:
            self.led_state = 1
            self.led_request.set_value(14,Value.ACTIVE)
        else:
            self.led_state = 0
            self.led_request.set_value(14,Value.INACTIVE)
win = MyWindow()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()

 

运行效果如下图所示,当点击按键的时候,下方的绿色LED点亮或者熄灭。
 

 

此帖出自stm32/stm8论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表