Эта проблема служит для отслеживания подзадач, связанных с полной реализацией темной темы на различных панелях, тексте и значках Spyder, поскольку требуется ряд шагов, как внутренних по отношению к кодовой базе Spyder, так и внешних в QDarkStyle
.
Заблокировано # 8020, начальная реализация. Первоначально возник из # 2350, ветки первоначального вопроса и обсуждения.
Места, которые нужно «затемнить»:
Output
Места с черным / темным цветом:
names
columnCommand to Execute
столбецДругие проблемы / ошибки Spyder:
Внешние проблемы:
@dalthviz , продолжайте работу с подключаемым
@dalthviz , продолжайте, пожалуйста
а также
Они очень похожи.
И этот тоже
Все это в одном пиаре.
@ ccordoba12 @dalthviz Я только что заметил это сейчас, но столбец индекса DataFrameEditor также не имеет темной тематики (что делает индекс невидимым) на тот случай, если это должно войти в текущий пакет работы.
@ ccordoba12 @ CAM-Gerlach еще одна вещь, которую нужно исправить, - это настройка таблицы стилей на отдельные окна плагинов:
Например, с редактором:
@dpizetta , продолжай в том же
Смотрится довольно аккуратно! Хорошая работа для всех вас! Мне нравятся минималистичные иконки :)
Могу я еще кое-что изменить на этой неделе, будет еще лучше :)
Вкладки, кнопки инструментов и некоторые детали, v2.6.2.
Закругленные углы - это хитрость, ха-ха ... Есть много вещей, которые выглядят странно, смешанные с плоскими. В версии 3 у нас будет несколько вариантов, чтобы сделать его плоским, закругленным и изменить палитру. Ищу лучшую реализацию.
Спасибо :)
Большое спасибо @dpizetta !
@ CAM-Gerlach, вы знаете, что вещи стиля - это то, что мы здесь не можем решить, поэтому, пожалуйста, сообщайте о них непосредственно в репозитории QDarkStyle.
Это действительно пустая трата вашего и нашего времени (например, вопросы, которые вы открываете по поводу размера значков, жадного текста завершения и т. Д.).
...
Я ответил вам в приватном чате.
Сообщено.
@ ccordoba12 Не уверен, что это Spyder или QDarkStyle, но на каждой панели настроек с вкладками вверху не видны контуры разделов, а также текстовые поля и т.п. Между тем, те, у кого нет верхних вкладок, выглядят нормально. Например
Это вещь QDarkStyle. Пожалуйста, сообщите об этом здесь.
Можете ли вы просто подтвердить, правильно ли настроены родительские элементы для этих проблемных виджетов?
(между тем, те, у кого нет верхней вкладки, выглядят нормально. Например) `
Иногда стиль из-за этого не применяется. Если можно, я могу познакомить детей со стилем. Может, это что-то вроде проблем с диалоговыми окнами и всплывающими окнами, которые не соответствуют стилю.
@dpizetta @ ccordoba12 У меня проблема стоит там в очереди, но дайте мне знать, стоит ли мне еще это сделать.
@dpizetta , родительским элементом этого диалогового окна является главное окно, как можно увидеть здесь:
( self
здесь главное окно).
@dpizetta @ ccordoba12 У меня проблема стоит там в очереди, но дайте мне знать, стоит ли мне еще это сделать.
Я думаю, что вставлять все эти типы суб-виджетов в CSS (например, QStackedWidget QLineEdit) - плохая идея, потому что это усложнит обслуживание. CSS должен работать в каскадном режиме, но для этого все родители должны быть правильными.
@dpizetta , родительским элементом этого диалогового окна является главное окно, как можно увидеть здесь:
Это решило проблему с виджетом диалога, теперь проблемы с QLineEdit внутри QTab или QStacked. Я видел ваш код и нашел такие строки:
Некоторые основные виджеты внутри
QLineEdit - может в этом проблема
При редактировании в QtDesigner все виджеты имеют родительский свой главный, в плоском стиле, а не в иерархии, поэтому, если он работает, он должен упроститься. Так что я полагаю, что обращение к _self_ во всех них также решает все проблемы. Если у вас есть подобные проблемы, возможно, решение будет таким же, и я думаю, что это лучший вариант. Он похож на # 8197, но также для вспомогательных виджетов.
Не могли бы вы попробовать это? Что вы думаете?
@dpizetta , ничего из этого не помогло. Но я нашел это в qdarkstyle:
Так, может быть, это приводит к тому, что границы не отображаются?
Я пробовал, но это тоже не сработало. Эта строка предназначена для удаления границы внутреннего виджета вкладки. Есть вероятность, что это вызовет проблемы. До 5 декабря не успею поработать над этой задачей, после вернусь.
Хорошо, спасибо большое @dpizetta!
Добавил его в раздел QDarkStyle выше, спасибо. Вы все еще хотите, чтобы я открыл там вопрос?
Также была обнаружена эта проблема в диалоговом окне подключения к ядру (Консоль -> Подключиться к существующему ядру): когда флажок удаленного ядра установлен, он отображается правильно (с темой QDarkStyle). Когда это не так (пользователь щелкает другие поля, фокусируется на другом окне или даже на Alt-Tab), он возвращается к обычному виду темы. возможно, это как-то связано с заголовком раздела или чем-то еще, поскольку флажки в других местах не имеют этой проблемы, только с этой конкретной. Spyder или QDarkStyle?
против.
Может проблема в стиле qdarstyle. Я проверю.
@dpizetta , как мы можем получить основные цвета qdarkstyle из пакета Python? Нам нужно внести несколько корректировок, чтобы соответствовать теме, и я заметил, что мы не можем использовать жестко запрограммированные цвета, потому что схема отличается в Python 2 (коричневатый) и 3 (голубоватый).
Еще несколько темных вещей, не перечисленных выше, на этот раз определенно связанных со Снайдером:
- Значок настроек по-прежнему не изменен на темную версию и почти не виден
- Диалоги «Показать переменные среды» и «Показать содержимое Sys.Path» в контекстном меню на панели консоли не имеют темной тематики, как другие диалоговые окна проводника переменных.
Работаем над ними в ПР №8192.
Параметр «Стиль окна Qt» в новой панели «Внешний вид» не влияет на темную тему пользовательского интерфейса.
Хороший улов, спасибо! @dalthviz , пожалуйста, решите эту проблему, отключив эту опцию, если тема темная (как @ CAM-Gerlach, упомянутый выше).
Работаем над ними в ПР №8192.
Извините, я не видел их в списке выше, и я не вижу ничего упомянутого о переменных env и программе просмотра syspath в этом PR.
Sympy latex print на консоли в настоящее время использует прозрачные png-файлы с черным цветом для основного текста. Это довольно сложное чтение с темной темой:
Измените эту строку:
https://github.com/spyder-ide/spyder/blob/9de287df78d6293a2323236c311d5007b254b300/spyder/plugins/ipythonconsole/widgets/shell.py#L284
Кому: init_printing(forecolor="White")"""
при использовании темной темы.
Как узнать, используем ли мы темную тему?
Нам придется запускать init_printing каждый раз при изменении темы.
Кому: init_printing(backcolor="White")"""
Это простейшее решение, но вокруг текста на небелых фоновых темах должно быть белое поле, подобное тому, как это делают в настоящее время встроенные графики.
@bcolsen Значит, нет никакого способа просто изменить фактический цвет текста SymPy на любой цвет синтаксической темы «Нормальный текст», установленный при его изменении?
Sympy использует латекс для создания png, и кажется, что для определения пользовательских цветов требуется определение преамбулы, но, по крайней мере, мы могли бы использовать обычный цвет текста в качестве ориентира для определения того, нужен ли нам черный или белый.
Ах, да, я знаю, как работают цвета в LaTeX, поскольку использую его постоянно, но я не думал о необходимости определять собственный цвет в этом контексте; хорошая точка зрения.
Хорошо, тогда мы могли бы в основном использовать логику, которую использует Spyder, чтобы определить, должна ли тема пользовательского интерфейса быть «темной» или «светлой» при установке на «Автоматически» на основе фона темы синтаксиса, т.е. если она выше, чем воспринимаемый средний серый цвет, чем использовать дефолт; если темнее, используйте forecolor="White"
. Нам просто нужно будет проверить и установить это всякий раз, когда пользователь применяет изменения к текущей теме синтаксиса или выбирает другую; этот процесс уже занимает около 20 + секунд на моей машине, поэтому любые незначительные дополнительные затраты не должны быть заметны.
@Ticonderoga указал, что заголовки таблиц в справке, например, в документации для scipy.optimize
, по-прежнему не обозначены и отображаются белым на белом, что делает их невидимыми. Кроме того, я заметил, что полосы прокрутки в справке по-прежнему белые и не выделены. Я добавил это и все остальное, что мы недавно обсуждали, в сообщение выше. Скриншот:
Просто чтобы здесь появилась ссылка, указанную выше.
Итак, я снова здесь, извините за опоздание. Я буду работать на этой неделе.
Так, может быть, это приводит к тому, что границы не отображаются?
Здесь все больше людей жалуются на это, примеры в задачах помогут мне найти нужное место # 123
Добавил его в раздел QDarkStyle выше, спасибо. Вы все еще хотите, чтобы я открыл там вопрос?
Также этот.
@dpizetta , как мы можем получить основные цвета qdarkstyle из пакета Python? Нам нужно внести несколько корректировок, чтобы соответствовать теме, и я заметил, что мы не можем использовать жестко запрограммированные цвета, потому что схема отличается в Python 2 (коричневатый) и 3 (голубоватый).
На данный момент нет возможности программно получить цвета, это планируется в версии 3, которая включает возможность ее изменения. В первых строках CSS у меня есть таблица с текущими цветами, которые мне нужно проверить, актуальны ли они.
init_printing (backcolor = "Белый") "" "
Включая предыдущие проблемы, я думаю, что было бы неплохо создать способ изменить эти цвета или использовать его из функциональности qdarkstyle в версии 3, чтобы при изменении темы цвета следовали. Я буду много работать, чтобы обеспечить эту функциональность, но я не знаю, сколько времени я потрачу. Используйте первый подход, как только я проверю цвета ... в наши дни. Я дам Вам знать.
Спасибо @dpizetta !
init_printing (backcolor = "Белый") "" "
На самом деле, какой цвет должна быть подсветка синтаксиса, зависит от цвета фона темы подсветки синтаксиса (который мы можем легко получить / проверить), а не от цвета темы пользовательского интерфейса (я просто предлагал использовать тот же метод, что и опция темы пользовательского интерфейса «Автоматически». делает, чтобы определить, какой цвет переднего плана следует использовать для вывода LaTeX: белый или черный; в идеале мы бы вместо этого просто использовали цвет normal text
для цвета LaTeX FG, чтобы он соответствовал любой произвольной теме ( это уже происходит со Spyder Dark, поскольку этот цвет тоже белый), но, похоже, это добавит сложности.
Здесь все больше людей жалуются на это
Большой! Приятно знать, что на нашей стороне нет проблем.
На данный момент нет возможности программно получить цвета, это планируется в версии 3.
Когда вы планируете выпустить версию 3?
На самом деле, какой цвет должна быть подсветка синтаксиса, зависит от цвета фона темы подсветки синтаксиса (который мы можем легко получить / проверить), а не от цвета темы пользовательского интерфейса ...
Ах да, я испортил условия, согласен с тобой :)
Большой! Приятно знать, что на нашей стороне нет проблем.
Хаухау ... моя очередь :)
Когда вы планируете выпустить версию 3?
Март-апрель / 2019
Новости:
@dpizetta Об этом сообщалось на # 8470, и я могу подтвердить в Windows 8.1 с Python 3.6.7, QDarkStyle 2.6.5 ( pip
) и Qt / PyQt 5.9.6 / 5.9.2 на master
что нет визуальной обратной связи при фактическом нажатии кнопки на панели инструментов и т. д. (как в обычной световой теме), что не оставляет пользователям возможности подтвердить действие, если на самом деле не произошло немедленного визуального эффекта.
Кроме того, возможно, это связано с кнопками переключения (например, большинство из тех, что находятся на панели «Найти в файлах» в Spyder), нет указания на то, в каком состоянии находится кнопка (например, с учетом регистра, регулярное выражение включено или выключено и т. Д.), Поэтому пользователю приходится прибегать к догадке и проверке, хотя на самом деле кнопка работает незаметно.
Вы можете это исправить со своей стороны?
в журнале изменений v4.0 beta есть
но на моем Win10 spyder 4.0.0b1 (установленном с помощью conda) в разделе интерфейса нет новых настроек.
Мне нужен какой-то дополнительный пакет или что-то в этом роде?
@yalov Это список изменений для 4.0 dev, то есть "живой" версии Github. Как вы можете видеть из этой проблемы, дорожной карты и т. Д., Начальная реализация темной темы и большая часть работы выполняется для Beta 2, в то время как несколько оставшихся здесь битов и окончательное завершение реализации привязаны к Beta 3. Как вы По строке версии видно, что у вас есть Beta 1. Бета 2 должна быть выпущена в течение следующих нескольких недель, или вы можете попробовать версию для разработчиков с Github, если у вас хватит смелости.
Стиль Qdarkstyle не применяется к EditTabNamePopup для переименования консоли. Поскольку родительский элемент QLineEdit для EditTabNamePopup - None.
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 , пожалуйста, сообщите об этом.
@ ccordoba12 Спасибо. Я подам PR ночью.
Новый элемент: значок информации в переключателе файлов не тематический, как показано в # 8616.
@dpizetta Об этом сообщалось на # 8470, и я могу подтвердить в Windows 8.1 с Python 3.6.7, QDarkStyle 2.6.5 (
pip
) и Qt / PyQt 5.9.6 / 5.9.2 наmaster
что нет визуальной обратной связи при фактическом нажатии кнопки на панели инструментов и т. д. (как в обычной световой теме), что не оставляет пользователям возможности подтвердить действие, если на самом деле не произошло немедленного визуального эффекта.Кроме того, возможно, это связано с кнопками переключения (например, большинство из тех, что находятся на панели «Найти в файлах» в Spyder), нет указания на то, в каком состоянии находится кнопка (например, с учетом регистра, регулярное выражение включено или выключено и т. Д.), Поэтому пользователю приходится прибегать к догадке и проверке, хотя на самом деле кнопка работает незаметно.
Вы можете это исправить со своей стороны?
Привет @ CAM-Gerlach, я разберусь с этим в ближайшие дни. Ткс!
Извините за вопрос, но как мне добавить темную тему в мою текущую IDE Spyder? Я установил ее через anaconda и я новичок почти во всем, что связано с кодированием. Я использую linuxmint 19.1. Может ли кто-нибудь помочь мне?
Он доступен только в разрабатываемой версии, которая будет выпущена через несколько месяцев.
Спасибо за информацию.
Так есть ли способ установить его в моей текущей версии Spyder? Если нет, когда будет выпущена новая версия?
Так есть ли способ установить его в моей текущей версии Spyder?
Нет. Как @goanpeca только что сказал: It is only available on the development version
Если нет, когда выйдет новая версия?
Опять же, если вы прочитаете ответ @goanpeca , он будет be released in some months
.
Он также будет доступен в Spyder 4 Beta 2, которая почти завершена и должна быть выпущена довольно скоро. Если вы хотите попробовать это прямо сейчас, вы можете установить версию для разработки самостоятельно; его не так уж сложно, даже для новичка. Однако вам, вероятно, лучше дождаться официального выпуска Beta 2, который не должен быть слишком далеким. Спасибо.
Спасибо за инфу буду ждать релиза: D
Я не могу этого дождаться! Большое спасибо!
@ ccordoba12 @dpizetta Вероятно, самая большая оставшаяся проблема (которая оказывает серьезное влияние на UX до такой степени, что серьезно ухудшает удобство использования определенных функций Spyder) заключается в том, что практически невозможно определить, переключаются ли кнопки (например, режим регулярного выражения и чувствительность к регистру для Find и Виджет «Заменить», панель «Найти в файлах» и т. Д.) Включены или отключены, и, похоже, они не соответствуют ожиданиям пользователя. Пример:
Отключено:
Включено:
Поэтому было бы разумно, например, обвести их более толстым, ярким белым или синим цветом, когда он включен, или даже покрасить значок в синий цвет, чтобы указать, что кнопка включена. Это что-то, что можно исправить на стороне Spyder, или это нужно сделать в самой теме? Спасибо!
Привет @ CAM-Gerlach, эти кнопки такие же, как на панели инструментов, они прозрачны, но при активации меняют цвет фона, который там является вашим цветом. Оба цвета в этом случае одинаковы. Я думаю, что когда происходит нажатие, они отображаются синим цветом в рамке. Я пытался поставить один цвет (светлее), когда он не активирован, и другой (темнее), когда он активирован, но они сделали интерфейс некрасивым.
Есть некоторые изменения, которые можно улучшить (Qdarksytle и / или Spyder):
В обычном стиле они идентичны кнопкам.
Идеи? @ ccordoba12 @goanpeca @ CAM-Gerlach Tks
Говоря о прозрачной кнопке здесь, я напомнил мне, что на днях я обнаружил это в стрелках вкладок редактора (в Linux):
Для воспроизведения вам нужно открыть больше вкладок, чем поместится на панели. Кто-нибудь еще понимает это?
@bcolsen Я могу подтвердить, что это то, что я вижу и в Windows. (Qt 5.9.7).
Что касается вкладок, это должно было быть исправлено в последней версии 2.6.8. Какие версии qdarkstyle вы используете?
Я поддерживаю озабоченность @ CAM-Gerlach относительно кнопок панели инструментов. Я думаю, что они должны измениться более заметным / серьезным образом, чем просто очертания. Я нахожу это недостаточно ясным (даже если это делают некоторые другие инструменты, такие как VSCode)
(Я не думаю, что это достаточно ясно, я хочу знать, что могу щелкнуть что-нибудь, не перемещая туда указатель мыши)
@dpizetta Я считаю, что мы должны начать использовать возможности SASS для добавления более светлых и темных оттенков помимо основной 9 цветовой палитры для решения этих небольших настроек.
https://sass-lang.com/documentation/functions
Я нахожу это недостаточно ясным (даже если это делают некоторые другие инструменты, такие как VSCode)
Я согласен, хотя даже внешний вид VSCode был бы более ясным, чем то, что мы имеем сейчас, что практически невозможно сказать и смотрит «назад». Однако в идеале мы хотим, чтобы вся кнопка была другого, в идеале более темного цвета, чтобы было видно, что она нажата (что может потребовать освещения панелей инструментов).
2.6.7 является последней версией spyder-ide
, но удаление ее и установка 2.6.8 из pip
действительно решает проблему со стрелкой. @ ccordoba12 можем ли мы получить 2.6.8 на spyder-ide
и потребовать это для Beta 2?
Вы имеете в виду добавить это в conda forge :-p?
@goanpeca Нет, там уже 2.6.8.
можем ли мы получить 2.6.8 на spyder-ide
Выполнено.
Еще одна проблема, которую я заметил некоторое время: правая боковая панель, отображающая ошибку / предупреждение / и т. Д. Маркеры по всему документу не смещены, чтобы соответствовать полосе прокрутки, поэтому последняя не может использоваться в качестве индикатора, который должен быть видимым. Сравните светлую тему:
С темной темой:
Предположительно, панель предупреждений должна быть смещена на расстояние, равное виджету со стрелкой прокрутки вверху и внизу темной темы, чтобы избежать этой проблемы.
@dpizetta @ ccordoba12 @goanpeca Идеи / мнения о том, как обрабатывать значки переключения, которые невозможно определить, если они активированы? Это, вероятно, самый важный элемент в этом списке, который нужно исправить, поскольку он сильно влияет на удобство использования для поиска / замены и поиска в файлах.
Правая боковая панель, которая показывает ошибку / предупреждение / и т. Д. маркеры по всему документу не смещены, чтобы соответствовать полосе прокрутки, поэтому последняя не может использоваться в качестве индикатора, который должен быть видимым
Это не имеет ничего общего с темной темой. Пожалуйста, откройте новый выпуск об этом.
@ ccordoba12 Я открыл новый номер, но меня это немного смутило. Не могли бы вы объяснить, как проблема пользовательского интерфейса, возникающая только в темной теме пользовательского интерфейса, имеет nothing to do with the dark theme
?
Потому что это происходит, когда фон редактора темный, независимо от темы, как показано на скриншоте выше.
Упс, извините, я не полностью прочитал ваш комментарий. Я думал, что обе темы имеют проблемы. В любом слючае. мы закроем эту ошибку после того, как исправим цвет переднего плана вывода Sympy, поэтому лучше открывать новые проблемы.
Упс, извините, я не полностью прочитал ваш комментарий
Нет проблем, все мы чего-то скучаем. Я просто не был уверен, что на этот раз это был я.
В любом слючае. мы закроем эту ошибку после того, как исправим цвет переднего плана вывода Sympy, поэтому лучше открывать новые проблемы
Хорошо, я избегал этого раньше, потому что ты сказал мне не делать этого. Так следует ли мне открывать новые выпуски для
- [] Значок «Информация» в переключателе файлов не тематический
и, если будет определено, что лучший способ действий - исправить это в Spyder, поскольку
- [] Исправлена ошибка, из-за которой значки переключения (регулярное выражение, чувствительность к регистру) не позволяли определить, активированы они или деактивированы (Spyder или QDarkstyle)
?
Я уже редактировал описание, чтобы охватить эти случаи, см. Выше.
@ ccordoba12 Хорошо, спасибо. Я не мог видеть, что он был обновлен, пока я сам редактировал его с аналогичным эффектом, хех. Я уже разместил здесь снимок экрана, поэтому скопирую его в новый выпуск.
@dpizetta Вы хотите, чтобы я открыл проблему в QDarkStyle для проблемы с переключением значков с контентом отсюда, или вы уже справляетесь с этим? Спасибо!
@dpizetta Вы хотите, чтобы я открыл проблему в QDarkStyle для проблемы с переключением значков с контентом отсюда, или вы уже справляетесь с этим? Спасибо!
Пожалуйста, @ CAM-Gerlach, я уже над этим работаю. На данный момент разумным вариантом является сохранение границы выделенной при проверке, как в последней версии vscode. Мы (@goanpeca) можем попробовать другие варианты с scss в будущем.
@dpizetta Спасибо. По вашему прямому запросу я открыл там вопрос.
Поскольку исправление для темной темы будет отсутствовать в версии 4, я подумал об обходном пути для текущей версии. Единственная проблема теперь, кажется, это цвет иконок в окне. После просмотра исходных файлов я обнаружил, что значки для темы spyder3 настроены в directory_of_spyder / spyder / utils / icon_manager.py. (Каталог spyder - это /lib/python3.7/site-packages/, если он установлен через pip). Я изменил переменную _qtaargs, добавив параметр color white везде, где это необходимо. Окончательный результат показан на картинке ниже.
Темный режим отлично работает везде, кроме некоторых частей справки и документации Qt. Я прикрепил измененный файл icon_manager.py.
icon_manager.py
Ваше здоровье!
Я придумал обходной путь для текущей версии
К сожалению, для текущей версии обходные пути добавлены не будут.
За исключением выпуска № 9545, можно сказать, что на этом все закончено.
Спасибо всем, кто сделал темную тему для Spyder реальностью!
Кстати, если вы обнаружите больше проблем с темной темой, пожалуйста, сообщайте о них как о отдельных проблемах.
Самый полезный комментарий
Выполнено.