Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante

Acompanhar o preço do Bitcoin ou sua criptomoeda favorita em tempo real pode ser importante para quem faz trading ativo ou simplesmente deseja observar movimentos do mercado ao longo do dia. Porém, manter uma aba de navegador aberta ou ficar alternando entre janelas pode ser pouco prático. Pensando nisso, o projeto crypto-float-monitor oferece uma solução simples, elegante e eficiente para usuários de Linux que desejam monitorar o par BTC/USDT diretamente na área de trabalho, através de um pequeno widget flutuante que permanece sempre visível.

[ Hits: 2.173 ]

Por: Fábio Berbert de Paula em 08/11/2025 | Blog: https://fabio.automatizando.dev


O que é o crypto-float-monitor



O crypto-float-monitor é um aplicativo que desenvolvi em Python 3.10+ utilizando a biblioteca PyQt6, que cria uma janela flutuante exibindo o preço atual do Bitcoin em tempo real. Ele se conecta diretamente ao stream oficial da Binance, garantindo atualização contínua do valor sem a necessidade de recarregar páginas ou interfaces web.

A interface é mínima e discreta, ocupando pouco espaço na tela e permanecendo sempre no topo das outras janelas. Isso permite que o usuário acompanhe o preço enquanto trabalha, joga, estuda ou realiza outras atividades.

Controles rápidos

  • Arrastar com o mouse: reposiciona o widget na tela.
  • Pressionar `q`: fecha o aplicativo imediatamente.

Simples e direto.

Como instalar e executar

O primeiro passo é clonar o repositório do projeto:

git clone https://github.com/fberbert/crypto-float-monitor.git
cd crypto-float-monitor

Para rodar o aplicativo, basta criar um ambiente virtual e instalar o projeto em modo editável:

python -m venv .venv
source .venv/bin/activate

Instale as dependências definidas no pyproject.toml:

pip install -e .

Execute o aplicativo com:

crypto-float-monitor

Ao ser iniciado pela primeira vez, o programa cria automaticamente um arquivo de configuração em: ${XDG_CONFIG_HOME:-$HOME/.config}/crypto-float-monitor/config.json

O conteúdo padrão é:

{
  "symbol": "BTCUSDT"
}

Você pode editar esse arquivo para monitorar qualquer outro par disponível na Binance, como ETHUSDT, BNBUSDT, entre outros.

Arquivo AppImage

Ao invés de clonar e instalar o projeto manualmente, você pode baixar a versão pré-compilada em AppImage diretamente da página de releases do GitHub:
Baixe o arquivo crypto-float-monitor-x.y.z-x86_64.AppImage, dê permissão de execução e rode-o:

chmod +x crypto-float-monitor-*.AppImage
./crypto-float-monitor-*.AppImage

Também é aconselhável mover o arquivo AppImage para um diretório presente no PATH, como /usr/local/bin ou $HOME/.local/bin, para facilitar a execução. Exemplo:

mv crypto-float-monitor-*.AppImage $HOME/.local/bin/crypto-float-monitor

Criando um arquivo .desktop

Para facilitar o lançamento do aplicativo a partir do menu do sistema, você pode criar um arquivo .desktop. Crie o arquivo $HOME/.local/share/applications/crypto-float-monitor.desktop com o seguinte conteúdo:

[Desktop Entry]
Encoding=UTF-8
Name=Crypto Float Monitor
Exec=/home/SEU-USUARIO/.local/bin/crypto-float-monitor %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=bitcoin

Obs.: estou considerando que você baixou o AppImage para $HOME/.local/bin/crypto-float-monitor. Se você clonou o repositório e instalou via pip, ajuste o campo Exec para apontar para o script instalado no ambiente virtual ou diretamente no PATH.

Em seguida, para atualizar a lista de aplicativos, execute:

update-desktop-database $HOME/.local/share/applications

Compatibilidade e requisitos

  • Python 3.10 ou superior
  • Distribuições Linux com ambiente gráfico (X11 ou Wayland)
  • Suporte a PyQt6 instalado no sistema

Geração e distribuição como AppImage

Estrutura principal do projeto

  • pyproject.toml: define metadados e dependências.
  • src/crypto_float_monitor/binance_client.py: cliente WebSocket que assina o stream da Binance.
  • src/crypto_float_monitor/widget.py: responsável pela interface flutuante.
  • src/crypto_float_monitor/main.py: ponto de entrada (`crypto-float-monitor`).

Conclusão

O crypto-float-monitor é uma ferramenta leve e prática para quem deseja acompanhar o preço do Bitcoin diretamente na área de trabalho, sem distrações e com atualização contínua. Sua configuração simples e a possibilidade de ajustar o par monitorado o tornam útil tanto para traders quanto para curiosos que acompanham o mercado cripto.

Se você utiliza Linux e quer uma forma rápida e eficiente de acompanhar o mercado, vale experimentar.

Contribuições, sugestões e feedbacks são bem-vindos no repositório do projeto no GitHub.
   

Páginas do artigo
   1. O que é o crypto-float-monitor
Outros artigos deste autor

MP3 no Linux

Como criar um clicador de sites com NodeJS

Desenhar com o mouse na tela do desktop

OpenAI - Como usar uma Inteligência Artificial a seu favor

Como aprovar Pull Requests em seu repositório Github via linha de comando

Leitura recomendada

Arduino com Bluetooth e pySerial

Como isolar seus projetos Python com virtualenv (ambiente virtual)

paramiko - Python + SSH

Gerar Códigos QRCode com Python

ISO8583py - Utilizando Python para o tratamento de mensagens ISO8583

  
Comentários
[1] Comentário enviado por Buckminster em 10/11/2025 - 08:58h

Aqui no Debian 13, após rodar "python3 -m venv .venv", tive de executar os comandos:
sudo chown -R $USER:$USER /home/seu_usuario/crypto-float-monitor/.venv
sudo chmod -R u+w /home/seu_usuario/crypto-float-monitor/.venv

para então rodar "source .venv/bin/activate".

E, ao rodar "crypto-float-monitor", ficou dando essa mensagem, mesmo tendo instalado os pacotes que pede ali:
"(.venv) kluster@cservidor:~/crypto-float-monitor$ crypto-float-monitor
[Main] Inicializando QApplication...
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vkkhrdisplay, vnc, wayland-brcm, wayland-egl, wayland, xcb.

Abortado"

Apaguei o .venv, recriei e refiz "pip install -e ." e a mensagem persistiu.
Então rodei:
sudo apt install python3-pyqt6 python3-pyqt6.qtwebengine

E a mensagem desapareceu, mas ao rodar "crypto-float-monitor" ficou a mensagem de "Carregando..." e não saiu disso.

No terminal fica assim:
":~/crypto-float-monitor$ crypto-float-monitor
[Main] Inicializando QApplication...
[BinancePriceStreamer] Inicializando streamer para BTCUSDT
[BinancePriceStreamer] Iniciando thread de stream...
[BinancePriceStreamer] Conectando em wss://stream.binance.com:9443/ws/btcusdt@trade
[FloatingPriceWidget] Widget inicializado e stream iniciado.
[Main] Widget exibido, iniciando loop de eventos.
[FloatingPriceWidget] Status de conexão atualizado: Connecting…
[FloatingPriceWidget] Widget posicionado inicialmente em PyQt6.QtCore.QPoint(1599, 20)
[BinancePriceStreamer] Erro recebido: [Errno 110] Tempo esgotado para conexão
[BinancePriceStreamer] WebSocket fechado.
[BinancePriceStreamer] Aguardando 3.0s para reconectar...
[FloatingPriceWidget] Status de conexão atualizado: Erro: [Errno 110] Tempo esgotado para conexão
[FloatingPriceWidget] Status de conexão atualizado: Desconectado
[FloatingPriceWidget] Status de conexão atualizado: Reconectando…
[BinancePriceStreamer] Conectando em wss://stream.binance.com:9443/ws/btcusdt@trade
[FloatingPriceWidget] Status de conexão atualizado: Connecting…"

Com o AppImage não testei.

[b]_________________________________________________________[/b]
[i]Rule number one: Always listen 'to' Buck![/i]
Enquanto o cursor estiver pulsando, há vida!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts