Este problema serve para rastrear os subproblemas relacionados à implementação total do tema escuro nos vários painéis, texto e ícones do Spyder, pois uma série de etapas, tanto internas ao código-base do Spyder quanto externas em QDarkStyle
, são necessárias.
Bloqueado por # 8020, a implementação inicial. Originalmente gerado a partir de # 2350, a questão inicial e o tópico de discussão.
Lugares que precisam ser "escurecidos":
Output
windowLugares que ainda têm cores preto / escuro:
names
colunaCommand to Execute
Outros problemas / bugs do Spyder:
Problemas Externos:
@dalthviz , continue com o plugin de ajuda. Para isso, acho que você precisa de três coisas:
@dalthviz , por favor continue com
e
Esses são muito semelhantes.
E este também
Tudo isso no mesmo PR.
@ ccordoba12 @dalthviz Acabei de notar agora, mas a coluna Índice do DataFrameEditor também não tem o tema escuro (tornando o índice invisível), caso isso vá para o lote de trabalho atual.
@ ccordoba12 @ CAM-Gerlach outra coisa a corrigir é a configuração da folha de estilo para janelas desanexadas dos plug-ins:
Por exemplo, com o Editor:
@dpizetta , continue com o bom trabalho !! As coisas estão realmente bem com QDarkStyle 2.6.1:
Parece muito legal! Bom trabalho para todos vocês também! Gosto de ícones minimalistas :)
Posso mudar mais coisas esta semana, ficará ainda melhor :)
Guias, botões de ferramentas e alguns detalhes, v2.6.2.
Os cantos arredondados são complicados, hauha ... tem muitas coisas que ficam estranhas misturadas com planas. Na versão 3, teremos algumas opções para definir mudanças planas, arredondadas e de paleta. Estou procurando a melhor implementação.
Obrigado :)
Muito obrigado @dpizetta !
@ CAM-Gerlach, você sabe que as coisas de estilo são algo que não podemos resolver aqui, portanto, relate-as diretamente no repositório QDarkStyle.
É realmente uma perda de seu tempo (como as questões que você abre sobre o tamanho dos ícones, texto de conclusão ganancioso, etc).
...
Eu respondi a você no chat privado.
Relatado.
@ ccordoba12 Não tenho certeza se é Spyder ou QDarkStyle, mas em todos os painéis de preferências com guias na parte superior, os contornos das seções, bem como os campos de texto e outros, são invisíveis; enquanto isso, aqueles sem as guias superiores parecem bem. Por exemplo
Isso é uma coisa QDarkStyle. Por favor, relate isso lá.
Você pode apenas confirmar se a paternidade para esses widgets problemáticos está correta?
(enquanto isso, aqueles sem as guias superiores parecem bem. Ex.) `
Às vezes, o estilo não é aplicado por causa disso. Se estiver tudo bem, posso apresentar o estilo às crianças. Pode ser algo parecido com os problemas que você tem com os diálogos e janelas pop-up que não entendem o estilo.
@dpizetta @ ccordoba12 Estou com o problema na fila, mas me diga se ainda devo
@dpizetta , o pai dessa caixa de diálogo é a janela principal, como pode ser visto aqui:
( self
é a janela principal aqui).
@dpizetta @ ccordoba12 Estou com o problema na fila, mas me diga se ainda devo
Acho que não é uma boa ideia inserir todos esses tipos de sub-widgets no CSS (como QStackedWidget QLineEdit), porque vai complicar a manutenção. O CSS deve funcionar em cascata, mas para isso, todos os pais devem estar corretos.
@dpizetta , o pai dessa caixa de diálogo é a janela principal, como pode ser visto aqui:
Isso resolveu o problema com o widget de diálogo, agora os problemas são com o QLineEdit dentro de um QTab ou QStacked. Eu vi seu código e encontrei linhas como estas:
Alguns widgets principais dentro
QLineEdit - pode ser este o problema
Ao editar no QtDesigner todos os widgets têm o pai como principal, em um estilo plano e não hierárquico, portanto, se funcionar, deve ser simplificado. Então eu acho que referir-se a _ mesmo_ em todos eles também resolve todos os problemas. Se você tem problemas assim, a solução talvez seja a mesma e eu acho que é a melhor. É semelhante a # 8197, mas também para sub widgets.
Você poderia tentar isso? O que você acha?
@dpizetta , nada disso ajudou. Mas eu encontrei isso no qdarkstyle:
Então talvez isso esteja fazendo com que as bordas não sejam mostradas?
Tentei mas também não funcionou. Essa linha é para remover a borda do widget interno da guia. Existe uma chance de causar problemas. Até o dia 5 de dezembro não terei tempo de trabalhar nesse problema, depois volto.
Ok, muito obrigado @dpizetta!
Adicionado à seção QDarkStyle acima, obrigado. Você ainda quer que eu abra um problema aí?
Além disso, foi encontrado este problema na caixa de diálogo de conexão do kernel (Console -> Conectar ao kernel existente): Quando a caixa de seleção do kernel remoto está focada, ela é exibida corretamente (com tema QDarkStyle). Quando não é (o usuário clica em outros campos, foca em outra janela ou mesmo Alt-Tabs), ele volta à aparência normal do tema. talvez tenha a ver com ser um título de seção ou algo assim, já que as caixas de seleção em outros lugares não têm esse problema, apenas este em particular. Spyder ou QDarkStyle?
vs.
Pode ser um problema de qdarstyle. Eu vou verificar.
@dpizetta , como podemos obter as principais cores qdarkstyle do pacote Python? Precisamos fazer vários ajustes para combinar com o tema e percebi que não podemos usar cores codificadas porque o esquema é diferente no Python 2 (marrom) e 3 (azulado).
Mais algumas coisas de tema escuro não listadas acima, definitivamente relacionadas a Snyder desta vez:
- O ícone de opções ainda não mudou para a versão escura e está quase invisível
- As caixas de diálogo "Mostrar variáveis de ambiente" e "Mostrar conteúdo do Sys.Path" no menu de contexto no painel do console não têm o tema escuro como outras caixas de diálogo do Explorador de variáveis
Trabalhando neles no PR # 8192.
A opção "Estilo da janela Qt" no novo painel Aparência não tem efeito com o tema escuro da IU
Essa é uma boa pegada, obrigado! @dalthviz , resolva este desabilitando esta opção se o tema for escuro (como @ CAM-Gerlach mencionado acima).
Trabalhando neles no PR # 8192.
Desculpe, não os vi na lista acima e não vejo nada mencionado sobre as variáveis env e o visualizador do syspath nesse PR.
A impressão em látex Sympy para o console atualmente usa pngs transparentes com preto para texto de fundo. Isso é bastante difícil de ler com um tema sombrio:
Mude esta linha:
https://github.com/spyder-ide/spyder/blob/9de287df78d6293a2323236c311d5007b254b300/spyder/plugins/ipythonconsole/widgets/shell.py#L284
Para: init_printing(forecolor="White")"""
ao usar um tema escuro.
Como sabemos se estamos usando um tema escuro?
Teríamos que executar init_printing toda vez que o tema mudar.
Para: init_printing(backcolor="White")"""
Esta é a solução mais simples, mas haveria uma caixa branca ao redor do texto nos temas de fundo não branco, semelhante à maneira que os gráficos embutidos fazem atualmente.
@bcolsen Portanto, não há como apenas alterar a cor real do texto SymPy para qualquer que seja a cor do tema de sintaxe "Texto normal" definida quando isso mudar?
Sympy usa látex para fazer os pngs e parece que definir cores personalizadas precisa de uma definição de preâmbulo, mas pelo menos poderíamos usar a cor de texto normal como guia sobre se precisamos de preto ou branco.
Ah, sim, estou ciente de como as cores funcionam no LaTeX, já que o uso o tempo todo, mas não pensei na necessidade de definir uma cor personalizada neste contexto; bom ponto.
Ok, então poderíamos basicamente usar a lógica que o Spyder usa para determinar se o tema da IU deve ser "escuro" ou "claro" quando definido como "Automático" com base no plano de fundo do tema de sintaxe, ou seja, se mais alto do que o cinza médio perceptivo do que usar o predefinição; se mais escuro, use forecolor="White"
. Precisamos apenas verificar e definir isso sempre que o usuário aplicar alterações ao tema de sintaxe atual ou selecionar um diferente; esse processo já leva cerca de 20 + segundos agora na minha máquina, então qualquer pequena quantidade de custo adicional não deve ser perceptível.
@Ticonderoga apontou que os cabeçalhos das tabelas na Ajuda, por exemplo, nos documentos de scipy.optimize
, ainda não têm tema e são brancos e brancos, o que os torna invisíveis. Além disso, percebi que as barras de rolagem na ajuda ainda estão brancas e sem tema. Eu adicionei isso e tudo o mais que discutimos recentemente no post acima. Captura de tela:
Para que isso seja referenciado aqui, @dalthviz , resolva o problema acima.
Então, eu aqui novamente, desculpe o atraso. Vou trabalhar nesta semana.
Então talvez isso esteja fazendo com que as bordas não sejam mostradas?
Aqui mais pessoas estão reclamando sobre isso, os exemplos nas edições me ajudarão a encontrar o lugar certo # 123
Adicionado à seção QDarkStyle acima, obrigado. Você ainda quer que eu abra um problema aí?
Também este aqui.
@dpizetta , como podemos obter as principais cores qdarkstyle do pacote Python? Precisamos fazer vários ajustes para combinar com o tema e percebi que não podemos usar cores codificadas porque o esquema é diferente no Python 2 (marrom) e 3 (azulado).
No momento não há como obter as cores de maneira programática, isso está planejado para a versão 3, que inclui a possibilidade de alterá-las. Nas primeiras linhas do CSS tenho uma tabela com as cores atuais que preciso verificar se está em dia.
init_printing (backcolor = "Branco") "" "
Incluindo os problemas anteriores, acho uma boa ideia criar uma maneira de mudar essas cores ou usá-la a partir da funcionalidade qdarkstyle da versão 3, de modo que conforme o tema muda, as cores seguem. Vou trabalhar muito para fornecer essa funcionalidade, mas não sei quanto tempo vou gastar. Use a primeira abordagem assim que eu verificar as cores ... hoje em dia. Eu aviso você.
Obrigado @dpizetta !
init_printing (backcolor = "Branco") "" "
Na verdade, a cor que o realce de sintaxe deve ter depende da cor de fundo do tema de realce de sintaxe (que podemos facilmente obter / verificar), não da cor do tema da IU (eu estava apenas sugerindo que usássemos o mesmo método da opção de tema "Automático" da IU faz para determinar se uma cor de primeiro plano branca ou preta deve ser usada para a saída LaTeX; de preferência, usaríamos apenas a cor normal text
para a cor LaTeX FG para que combinasse com qualquer tema arbitrário ( já faz com o Spyder Dark, já que essa cor também é o branco), mas parece que isso aumentaria bastante a complexidade.
Aqui mais pessoas estão reclamando disso
Excelente! É bom saber que não há problema do nosso lado.
No momento, não há como obter as cores de maneira programática. Isso está planejado para a versão 3
Quando você planeja lançar a versão 3?
Na verdade, a cor que o realce da sintaxe deve ter depende da cor de fundo do tema de realce da sintaxe (que podemos facilmente obter / verificar), não da cor do tema da IU ...
Sim, estraguei os termos, concordo com você :)
Excelente! É bom saber que não há problema do nosso lado.
HAuhau ... é a minha vez :)
Quando você planeja lançar a versão 3?
Mar-Abr / 2019
Notícia:
@dpizetta Foi relatado em # 8470 e posso confirmar no Windows 8.1 com Python 3.6.7, QDarkStyle 2.6.5 ( pip
) e Qt / PyQt 5.9.6 / 5.9.2 em master
que não há feedback visual quando um botão da barra de ferramentas, etc. é realmente clicado (como no tema de luz normal), não deixando aos usuários nenhuma maneira de confirmar uma ação sem que o efeito visual imediato realmente tenha ocorrido.
Além disso, talvez relacionado, para botões de alternância (por exemplo, a maioria daqueles no painel Localizar em arquivos no Spyder), não há indicação de qual é o estado do botão (por exemplo, diferencia maiúsculas de minúsculas, regex ativado ou desativado, etc), então o o usuário precisa adivinhar e verificar, embora o botão funcione de forma invisível.
Isso é algo que você pode consertar do seu lado?
no changelog v4.0 beta tem
mas no meu Win10 spyder 4.0.0b1 (instalado com conda) não há nenhuma nova configuração na seção de interface.
Eu preciso de algum pacote adicional ou algo assim?
@yalov Esse é o changelog para 4.0 dev, ou seja roteiro , etc., a implementação inicial do dark theme e a maior parte do trabalho é feita para o Beta 2, enquanto alguns pedaços restantes aqui e a conclusão final da implementação são indexados para o Beta 3. Como você pode ver na string da versão, você tem o Beta 1. O Beta 2 deve ser lançado nas próximas semanas, ou você pode experimentar a versão dev do Github se for corajoso.
O estilo Qdark não é aplicado a EditTabNamePopup para renomear console. Porque o pai de QLineEdit de EditTabNamePopup é Nenhum.
class EditTabNamePopup(QLineEdit):
"""Popup on top of the tab to edit its name."""
def __init__(self, parent, split_char, split_index):
"""Popup on top of the tab to edit its name."""
# Variables
# Parent (main)
self.main = parent if parent is not None else self.parent()
self.split_char = split_char
self.split_index = split_index
# Track which tab is being edited
self.tab_index = None
# Widget setup
QLineEdit.__init__(self, parent=None)
@ ok97465 , envie um PR para isso.
@ ccordoba12 Obrigado. Vou enviar um PR à noite.
Novo item: o ícone de informações no alternador de arquivos não é temático, como visto em # 8616.
@dpizetta Foi relatado em # 8470 e posso confirmar no Windows 8.1 com Python 3.6.7, QDarkStyle 2.6.5 (
pip
) e Qt / PyQt 5.9.6 / 5.9.2 emmaster
que não há feedback visual quando um botão da barra de ferramentas, etc. é realmente clicado (como no tema de luz normal), não deixando aos usuários nenhuma maneira de confirmar uma ação sem que o efeito visual imediato realmente tenha ocorrido.Além disso, talvez relacionado, para botões de alternância (por exemplo, a maioria daqueles no painel Localizar em arquivos no Spyder), não há indicação de qual é o estado do botão (por exemplo, diferencia maiúsculas de minúsculas, regex ativado ou desativado, etc), então o o usuário precisa adivinhar e verificar, embora o botão funcione de forma invisível.
Isso é algo que você pode consertar do seu lado?
Olá @ CAM-Gerlach, posso resolver nos próximos dias. Tks!
Desculpe por perguntar aqui, mas como faço para adicionar tema escuro ao meu IDE do spyder atual? Eu instalei através do anaconda e sou um iniciante em praticamente tudo relacionado à codificação. Estou no linuxmint 19.1. Alguém pode me orientar?
Só está disponível na versão de desenvolvimento para ser lançado em alguns meses
Obrigado pela informação.
Então, há uma maneira de instalá-lo na minha versão atual do spyder? Se não, quando a nova versão será lançada?
Então, há uma maneira de instalá-lo na minha versão atual do spyder?
Não. Como @goanpeca acabou de dizer, It is only available on the development version
Caso contrário, quando a nova versão será lançada?
Novamente, se você ler a resposta de @goanpeca , será be released in some months
.
Ele também estará disponível no Spyder 4 Beta 2, que está quase completo e deve ser lançado em breve. Se você quiser experimentar agora, você pode instalar uma versão de desenvolvimento você mesmo; não é tão difícil, mesmo para um iniciante. No entanto, provavelmente é melhor você aguardar o lançamento oficial do Beta 2, que não deve demorar muito. Obrigado.
Obrigado pela informação vou aguardar o relase: D
Eu não posso esperar por isto! Muito obrigado!
@ ccordoba12 @dpizetta Provavelmente o maior problema remanescente (que tem um grande impacto UX a ponto de prejudicar seriamente a usabilidade de recursos específicos do Spyder) é que é quase impossível dizer se os botões de alternância (como modo regex e diferencia maiúsculas de minúsculas para Find e O widget Substituir e o painel Localizar nos arquivos, etc.) estão habilitados ou desabilitados e parecem estar invertidos em relação ao que o usuário poderia esperar. Exemplo:
Desabilitado:
Habilitado:
Portanto, seria prudente, por exemplo, contorná-los em um branco ou azul muito mais espesso, mais brilhante, quando ativado, ou até mesmo colorir o ícone em azul para indicar que o botão está ativado. Isso é algo que pode ser consertado do lado do Spyder, ou precisa ser feito no próprio tema? Obrigado!
Hi @ CAM-Gerlach esses botões são como na barra de ferramentas, são transparentes, mas quando ativados mudam para a cor de fundo, que é a sua cor lá. Ambas as cores são iguais neste caso. Acho que quando o evento de pressão está ocorrendo, eles aparecem em azul na borda. Já tentei colocar um pouco de cor (mais claro) quando não ativar e outro (mais escuro) quando ativado, mas tornaram a interface feia.
Existem algumas mudanças que podem ser feitas para melhorar (Qdarksytle e / ou Spyder):
No estilo normal, eles são idênticos aos botões de pressão.
Ideias? @ ccordoba12 @goanpeca @ CAM-Gerlach Tks
Falar sobre botão transparente aqui me lembrou que encontrei outro dia nas setas da aba do editor (no Linux):
Para reproduzir, você precisa de mais guias abertas do que cabem na barra. Alguém conseguiu isso?
@bcolsen Posso confirmar que também vejo no Windows. (Qt 5.9.7).
Sobre as guias, deveria ter sido corrigido na última versão 2.6.8. Quais versões qdarkstyle você está usando?
Eu apoio @ CAM-Gerlach preocupação com relação aos botões da barra de ferramentas. Eu acho que eles precisam mudar de uma forma mais visível / óbvia do que apenas o contorno. Acho que não é claro o suficiente (mesmo que algumas outras ferramentas como o VSCode façam isso)
(Não acho que isso esteja claro o suficiente, quero saber se posso clicar em algo sem ter que mover o ponteiro do mouse até lá)
@dpizetta Eu acredito que devemos começar a usar o poder do SASS para adicionar tons mais claros e mais escuros além da paleta de cores básicas 9 para lidar com esses pequenos ajustes.
https://sass-lang.com/documentation/functions
Acho que não é claro o suficiente (mesmo que algumas outras ferramentas como o VSCode façam isso)
Eu concordo, embora até mesmo o visual do VSCode fosse mais claro do que o que temos agora, o que é virtualmente impossível de dizer e parece "para trás". O ideal, porém, queremos que todo o botão seja de uma cor diferente, idealmente mais escura para deixar claro que está pressionado (o que pode exigir um relâmpago nas barras de ferramentas).
2.6.7 é o mais recente em spyder-ide
, mas desinstalá-lo e instalar o 2.6.8 de pip
realmente resolve o problema da seta. @ ccordoba12 podemos obter 2.6.8 em spyder-ide
e exigir isso para o Beta 2?
Quer dizer adicionar isso em conda forge :-p?
@goanpeca Não, já
podemos obter 2.6.8 no spyder-ide
Feito.
Outro problema que notei por um tempo: A barra lateral direita que mostra erro / aviso / etc. marcadores em todo o documento não são deslocados para coincidir com a barra de rolagem, portanto, esta última não pode ser usada como um indicador de qual deveria estar visível. Compare o tema claro:
Com o tema escuro:
Presumivelmente, a barra de aviso precisa ser compensada por uma distância igual ao widget de seta de rolagem na parte superior e inferior do tema escuro para evitar esse problema.
@dpizetta @ ccordoba12 @goanpeca Idéias / opiniões sobre como lidar com os ícones de alternância sendo impossível dizer se ativados? Este é provavelmente o item mais importante a corrigir nesta lista, uma vez que tem grandes impactos de usabilidade para Localizar / Substituir e Localizar em Arquivos.
A barra lateral direita que mostra erro / aviso / etc. marcadores em todo o documento não são deslocados para coincidir com a barra de rolagem, então esta última não pode ser usada como um indicador de qual deveria estar visível
Isso não tem nada a ver com o tema escuro. Por favor, abra uma nova edição sobre isso.
@ ccordoba12 Abri um novo problema, mas estou bastante confuso. Você poderia explicar como um problema de IU que ocorre apenas sob o tema escuro de IU tem nothing to do with the dark theme
?
Porque acontece quando o fundo do editor está escuro, independente do tema, como mostra a imagem acima.
Ups, desculpe, não li seu comentário completamente. Achei que ambos os temas apresentassem problemas. Em todo o caso. fecharemos esse bug depois de corrigirmos a cor de primeiro plano da saída do Sympy, então é melhor abrir novos problemas.
Ups, desculpe, não li seu comentário completamente
Não tem problema, todos nós sentimos falta de algumas coisas. Só não tinha certeza se era eu dessa vez.
Em todo o caso. fecharemos esse bug depois de corrigirmos a cor de primeiro plano da saída do Sympy, então é melhor abrir novos problemas
Ok, eu estava evitando isso antes, desde que você me disse para não fazer isso. Devo também abrir novas edições para
- [] O ícone "Informações" no alternador de arquivos não tem tema
e, se for determinado que o melhor curso de ação é consertá-lo no Spyder, uma vez que @dpizetta disse que poderia ser resolvido de qualquer maneira, pelo que entendi,
- [] Corrigir ícones de alternância (regex, diferenciando maiúsculas de minúsculas) sendo impossível dizer se eles estão ativados ou desativados (estilo Spyder ou QDark)
?
Já editei a descrição para cobrir esses casos, por favor veja acima.
@ ccordoba12 Ok, obrigado. Eu não pude ver que ele tinha sido atualizado enquanto eu mesmo o estava editando para um efeito semelhante, heh. Eu já havia postado uma captura de tela aqui, então vou apenas copiá-la para uma nova edição.
@dpizetta Quer que eu abra um problema no QDarkStyle para o problema dos ícones de alternância com o conteúdo daqui, ou já está cuidando disso? Obrigado!
@dpizetta Quer que eu abra um problema no QDarkStyle para o problema dos ícones de alternância com o conteúdo daqui, ou já está cuidando disso? Obrigado!
Por favor, @CAM-Gerlach, já estou trabalhando nisso. A opção razoável, por enquanto, manter a borda destacada quando marcada como a versão mais recente do vscode. Nós (@goanpeca) podemos tentar outras opções com o scss no futuro.
Obrigado @dpizetta . Por sua solicitação direta, abri um problema lá.
Como a correção para o tema escuro será lançada na versão 4, pensei em uma solução alternativa para a versão atual. O único problema agora parece ser a cor dos ícones na janela. Depois de examinar os arquivos de origem, descobri que os ícones para o tema spyder3 estão configurados em directory_of_spyder / spyder / utils / icon_manager.py. (O diretório do spyder é /lib/python3.7/site-packages/ se instalado por meio do pip). Alterei a variável _qtaargs adicionando o parâmetro color white sempre que necessário. O resultado final é mostrado na imagem abaixo.
O modo escuro funciona perfeitamente em qualquer lugar, exceto em algumas partes da ajuda e da documentação do Qt. Anexei o arquivo icon_manager.py modificado.
icon_manager.py
Saúde!
Pensei em uma solução alternativa para a versão atual
Nenhuma solução alternativa será adicionada para a versão atual, desculpe.
Com exceção da edição # 9545, podemos dizer que isso foi concluído.
Obrigado a todos que contribuíram para tornar o tema sombrio do Spyder uma realidade!
A propósito, se você encontrar mais problemas sobre o tema escuro, relate-os como problemas separados.
Comentários muito úteis
Feito.