Перейти к содержанию

Сегодня я расскажу вам как легко менять дизайн любой монеты.


tseries

Рекомендуемые сообщения

Будет предполагать что вы уже форкнули репозиторий нужной монеты и все настроили. Данный гайд предполагает чисто изменение дизайн в qt 5.1.1 и notepad++
 
Открываем notepad++ и добавляем в него эти исходные кода 
 
post-20491-0-98145100-1500749781_thumb.jpg
В нужных из этих исходных кодов добавляем в include а также код поддержки css(qss)
 
src/qt/guiutil.cpp отвечает у нас по сути на загрузку нашего дизайна. Потому мы сюда добавляем поддержку загрузки нашего css
 
 
 
#include <QApplication>
 #include "guiutil.h"
  
 #include "bitcoinaddressvalidator.h"
 @@ -28,6 +27,7 @@
 #include <QFileDialog>
 #include <QDesktopServices>
 #include <QThread>
 + #include <QSettings>
  
 #include <boost/filesystem.hpp>
 #include <boost/filesystem/fstream.hpp>

post-20491-0-58304600-1500749807_thumb.jpg

 
 "+" точто мы добавляем если нет
 
 Это хак для изменения QmessageBox( так как иначе у нас останутся так скажем не покрашенные окна тем в зависимых от guiutil.cpp формочем ( окна ошибок, подтверждения и так далее - стандартные системные окна )
     setText(header + QString(QChar(0x2003)).repeated(50));
      setDetailedText(coreOptions + "\n" + uiOptions);
 +     /* Open CSS when configured */
 +    this->setStyleSheet(GUIUtil::loadStyleSheet());
  }
  post-20491-0-35558700-1500749783_thumb.jpg
  
 Это код загрузки наших css с ресурса. Смотрим по картинке куда его примерно вставить.
 
// Open CSS when configured
QString loadStyleSheet()
{
    QString styleSheet;
    QSettings settings;
    QString cssName;
    QString theme = settings.value("theme", "").toString();


    if(!theme.isEmpty()){
        cssName = QString(":/css/") + theme; 
    }
    else {
        cssName = QString(":/css/drkblue");   сдесь указываем название файла с стилями 
        settings.setValue("theme", "drkblue"); сдесь указываем название файла с стилями 
    }
    
    QFile qFile(cssName);      
    if (qFile.open(QFile::ReadOnly)) {
        styleSheet = QLatin1String(qFile.readAll());
    }
        
    return styleSheet;
}
post-20491-0-21748200-1500749784_thumb.jpg
 
Теперь идем в src\qt\guiutil.h
 
Смотрим include 

 #ifndef GUIUTIL_H
  #define GUIUTIL_H
  
 + #include <QEvent>
 + #include <QHeaderView>
  #include <QString>
  #include <QObject>
  #include <QMessageBox>
 + #include <QTableView>
 + #include <QProgressBar>
 +
 + #include <boost/filesystem.hpp>

post-20491-0-23797100-1500749785_thumb.jpg

После добавляем 
 
 
   /** Load global CSS theme */
    QString loadStyleSheet();
post-20491-0-21248900-1500749786_thumb.jpg
 
Готово, мы добавили поддержку css в загрузчик ui.
 
Теперь перейдем к добавлению в src\qt\bitcoingui.cpp
 
 +     /* Open CSS when configured */
 +    this->setStyleSheet(GUIUtil::loadStyleSheet());   

post-20491-0-08904700-1500749917_thumb.jpg

 
Также если у нас двигается тул бар где кнопка домой сенд прием история ( убираем эту уродливою полоску открепления панельки и она станет вечно фиксированно сверху ) 
 
+ toolbar->setMovable(false);
post-20491-0-62596000-1500749787_thumb.jpg
 
теперь идем в src\qt\coincontroldialog.cpp
 
сверяем на всякий случай наличие нужны инклудов (#include <QString> и тд) иногда их добавление не обьязательно если они и так подтянутся с другого исходного кода.)
 
 
 
Добавляем 
 
        /* Open CSS when configured */
    this->setStyleSheet(GUIUtil::loadStyleSheet()); 

post-20491-0-97892600-1500750027_thumb.jpg

 
Теперь идем в qt creator , Открыть файл или проект ( ищем имямонеты-qt.pro ) 
 
переходим во вкладку ресурсы... 2 раза кликаем по ресурс файлу, в окне жмем добавить новый префикс. И добавляем нашу зарание созданный файл css и файл по пути \src\qt\res\css\имя файла
 
post-20491-0-74273800-1500750076_thumb.jpg
post-20491-0-79763000-1500750078_thumb.jpg
post-20491-0-94656000-1500750080_thumb.jpg
 
Таким же образом добавляем любые новые ресурсы что мы будем использовать.
 
Тут есть 1 нюанс , сохраняем изменения в наших ресурсах.
 
и открываем наш файл в notepad++
 
src\qt\bitcoin.qrc и правим это 
 
 
было <file>res/css/drkblue.css</file>
стало <file alias="drkblue">res/css/drkblue.css</file>
 
также поступаем в случае добавления картинок через qt.
 
в принципе все, теперь пишем стили для наших кнопок фона и так далее.
 
Точнее вы можете ознакомится посмотрев историю изменений в на git hub, как я адаптировал возможность смены дизайна.
 
 
Если формы не затрагиваются через css, ищем файл cpp формы и добавляем туда     
    /* Open CSS when configured */
    this->setStyleSheet(GUIUtil::loadStyleSheet()); 
 
Или же просто изменяем её прямо в qt creator для экономии времени. (.ui файл)
 
post-20491-0-50587900-1500750083_thumb.jpg
 
post-20491-0-67955700-1500750085_thumb.jpg
Изменено пользователем tseries
Ссылка на комментарий
Поделиться на другие сайты

  • 5 месяцев спустя...

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Similar Topics

    • Основатель Silk Road: «Сегодня ровно 10 лет, как я нахожусь за решеткой»

      Основатель закрытой даркнет-площадки Silk Road Росс Ульбрихт объявил в социальной сети X (Твиттер), что сегодня исполнилось ровно десять лет, как он находится в тюремном заключении. Предполагается, что пост в Х был написан семьей Росса Ульбрихта (Ross Ulbricht), поскольку в тюрьме у него нет доступа к Интернету. Ульбрихт был арестован в 2013 году и приговорен к двум пожизненным срокам заключения за участие в создании и использовании «теневой» платформы Silk Road. Платформа была закрыта в св

      в Новости криптовалют

    • Экс-председатель CFTC: «Стандарты для криптоиндустрии нужны уже сегодня»

      Бывший председатель Комиссии по торговле товарными фьючерсами США (CFTC) предложил ведомству объединить усилия с Комиссией по ценным бумагам и биржам (SEC) для разработки правил регулирования криптовалют. Тимоти Массад (Timothy Massad) в интервью телеканалу CNBC предложил, чтобы SEC и CFTC совместно сформировали рабочую группу, которая должна разработать основные стандарты защиты клиентских активов, а также требования к отчетности для платформ, торгующих биткоином, эфиром и другими криптов

      в Новости криптовалют

    • «Положение и перспективы развития криптовалют. Что имеем сегодня, чего ждать завтра».

      15 сентября в 15:00 состоится БИЗНЕС-СЕССИЯ «Положение и перспективы развития криптовалют. Что имеем сегодня, чего ждать завтра». Это уникальное событие с участием представителей крипторынка в офлайн-формате. Вы сможете напрямую встретиться с лидерами отрасли и получить ответы на самые актуальные вопросы. В рамках бизнес-сессии вы сможете пообщаться с представителями крупнейших мировых криптобирж: ? Binance ? Huobi ? OKX ? Garantex Честные ответы на прямые вопросы. Откр

      в Мероприятия

    • https://gleam.io/Qm6Dd/apexyield-community - 100 000$ в равных долях будут распределены между 3000 счастливчиками (Дедлайн сегодня)!

      ? Аирдроп от ApexYield ? Очередной gleam, но с более хорошим шансами ✈️ 3000 победителей разделят 100.000$ в токенах ARY (каждый победитель получить приблизительно 33$) ? Так же 3200 BUSD будут разделены между 10 лучшими рефоводами ? Как участвовать ? ? Переходим на сайт: >>>ТЫК<<< ? Выполняем простые задания ? Ждём результаты аирдропа ! ⌚️ Дедлайн: форму закроют 16.05.2022. Победителей объявят 23.05.2022   Дедлайн: 20 часов.

      в Раздачи монет

    • Азохен вей, шлимазлы. Сегодня мы будем готовить рибу, как это делает моя дорогая Фира

      Таки не до конца, говорят. Прошу прощения модераторов, но как у нас тут флейм, позволю себе запостить вкусный текст для общей психологической разрядки. Если что, автор не я. Азохен вей шлимазлы. Сегодня мы будем готовить рибу, как это делает моя дорогая Фира. Возьмите свои уши и смотрите к мине я вас умоляю. Не надо из мине глозьями давить томатный сок, моя Фира всю жизнь этим занимается и вам её никогда не превзойти. От её трёх негромких слов портится риба на другом конце «Привоза».

      в Флейм

×
×
  • Создать...