Надоело экспериментировать с написанием скинов, решил попробовать использовать Style в QT (мне нужно скинировать только компоненты без формы (так как скинирование формы зло и травма психики пользователя)). Вот что у меня получилось:

Правда как скинировать бегунок процента завершения пока не додумался (может кто подскажет?).
- Код: Выделить всё
- unit UQApplication_setStyle;
 {$mode objfpc}{$H+}
 interface
 uses
 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
 ComCtrls,
 // Для того, что бы был доступен данный юнит пересобирите Lazarus под QT
 // Сервис -> Параметры сборки Lazarus... -> Интерфейс LCL -> Qt
 // После чего необходимо пересобрать Lazarus
 Qt4,
 // Незабудте прописать путь к юниту данного модуля, например так:
 // Проект -> Параметры проекта -> Параметры компилятора ->
 // Другие модули -> $(LazarusDir)\lcl\interfaces\qt
 QtWidgets;
 type
 { TForm1 }
 TForm1 = class(TForm)
 Button1: TButton;
 ProgressBar1: TProgressBar;
 procedure Button1Click(Sender: TObject);
 private
 { private declarations }
 public
 { public declarations }
 end;
 var
 Form1: TForm1;
 implementation
 {$R *.lfm}
 { TForm1 }
 procedure TForm1.Button1Click(Sender: TObject);
 var
 MyBas: WideString;
 Widget: QProgressBarH;
 begin
 // Применяем определённый стиль
 MyBas := 'plastique';
 // ко всей форме с виджетами
 QApplication_setStyle(@MyBas);
 // Применяем заданнй стиль к определённому виджету, получаем виджет
 Widget := QProgressBarH((TQtWidget(ProgressBar1.Handle).Widget));
 // Заданнй стиль
 MyBas := 'border:1px solid rgb(79,101,125);' +
 ' border-top:1px solid rgb(79,101,125); text-align:center;' +
 ' background-color: rgba(191, 255, 191, 255); border-radius: 8px;';
 // Применяем стиль к виджету
 QWidget_setStyleSheet(Widget, @MyBas);
 end;
 end.
Собирал в: Lazarus 0.9.29 / FPC 2.5.1 с использованием QT 4.5.3: http://narod.ru/disk/25824088000/Qt_4.5.3.7z.html.



