ZaslaneC
Март 19, 2024 21:27:24
Пишу многооконное приложение ( интерфейс для общения с плк по rs485), окна создавал в at designed. Окна открываю через окно.show() и закрываю предыдущее окно.hide(). В зависимости от полученных данных в метках меняются текст и цвет. Так вот через некоторое время пропадают все стили: и радиусы бордюров и цвета текста и фона. Если менять только текст, всë нормально работает. Ни как не пойму от чего это зависит. Если кто сталкивался, подскажите. Заранее спасибо
ZerG
Март 19, 2024 21:40:13
Стандартная проблема ноичков.
Сразу скажу что необходимо заменить С6 и и тогда ампфильтер перестанет давать наводки.
Но!
Нужно делать все грамотно
По этому попробуйте для начала выложить код;
ZaslaneC
Март 19, 2024 21:56:42
Вам только основную простыню, или подключаемые файлы тоже?
ZaslaneC
Март 19, 2024 22:17:45
И подскажите “заменить С6” это что значит?
ZaslaneC
Март 19, 2024 22:56:17
в этом файле вся основная логика.
Rodegast
Март 20, 2024 12:17:10
> И подскажите “заменить С6” это что значит?
Это так над тобой издеваются.
> закрываю предыдущее окно.hide()
hide не закрывает окно, а скрывает его. Используй QDialog (в первую очередь смотри на методы accept и reject) в место QMainWindow.
> в этом файле вся основная логика.
Основная проблема глобальные переменные и вся сопутствующая логика. Их в нормальном коде вообще не должно быть. QMainWindow должен быть только один и у основного окна.
По стилям - у тебя должен быть один общий файл со стилями. В симих стилях нужно указывать для каких конкретно виджетах они предназначены, например - “QLabel {background-color: #00aa00; color: white;}”
ZaslaneC
Март 20, 2024 13:42:51
я так понимаю, что мне нужно оставить одно стартовое окно с классом QMainWindow, а остальные переделать на QDialog.
со стилями немного непонятно, т.к. все стили я устанавливаю в Qt Designed и они получается лежат в своих файликах, а я в зависимости от данных меняю стили и возвращаю их обратно
я скорее всего не до конца понимаю философию python, поэтому возникает данная каша, и взяв питона за горло он начал задыхаться))))
могли бы Вы накидать примерную структуру моего проекта для понимания в каком файле что писать. если нужно, могу и файлы окон кинуть, для более точного понимания проекта.
Rodegast
Март 20, 2024 17:36:54
> со стилями немного непонятно, т.к. все стили я устанавливаю в Qt Designed и они получается лежат в своих файликах, а я в зависимости от данных меняю стили и возвращаю их обратно
У тебя должен быть основной стиль который устанавливается для основного окна. Все другие окна будут его наследовать. Денамически ты должен менять стили только у нужных элементов. Если элементы лежат в одном контейнере, то лучше менять стиль контейнера, а не каждого виджета.
> я скорее всего не до конца понимаю философию python
Нет там никакой особой философии. Сначала тебе нужно разобраться с ООП, как с ним разберёшься, так всё станет на свои места.
ZaslaneC
Март 20, 2024 18:38:13
Спасибо. С ООП я действительно не до конца разобрался. Может подскажете ресурсы, где доступно работа с классами подана.