2010-12-15 20 views
20

Kullanıcılarımızın, uygulamalarımızın varsayılan görünümünü OWN Qt Stil sayfası dosyalarını yükleyerek özelleştirebilmelerini istiyorum. Bunu nasıl başarabiliriz? Biri bana bir başlangıç ​​verebilir mi?Qt, stili bir dış Qt Stil Sayfası dosyasından nasıl uygulayabilir?

+0

CSS ile, * HTML CSS * dosyaları veya * Qt Stylesheets * kendileri mi? – liaK

+1

Qt Stylesheets ... Üzgünüm ... güncellememe izin ver ... – Owen

cevap

26

Kullanıcı, stylesheet.qss adlı bir stil sayfasına sahip olduğunu ve uygulama klasöründe bulunduğunu varsayalım.

>myapp -stylesheet=stylesheet.qss 

Ama bu argümanlarla bir uygulamayı başlatmak için nasıl bilmek için kullanıcı gerektirir:

uygulamayı başlatırken -stylesheet argümanı kullanarak, stil sayfasını yükleyebilir.

Yapabilecekleriniz, uygulamanıza, kullanıcının bir stil sayfası yolu seçebileceği bir ayarlar iletişim kutusu eklemektir.

Daha sonra, bu dosyayı açmak içerik yüklemek ve QApplication::setStyleSheet() ile uygulamaya ayarlayabilirsiniz: Qt yararlı olabilir bir example online sağlamaktadır

QFile File("stylesheet.qss"); 
File.open(QFile::ReadOnly); 
QString StyleSheet = QLatin1String(File.readAll()); 

qApp->setStyleSheet(StyleSheet); 

.

+4

Birden fazla stil sayfası kullanmak için nasıl (mümkün ise) belirtebilir misiniz? Örneğin: Belirli bir düzen için bir stil sayfası ve ikinci bir düzen için başka bir tane kullanmam gerekiyor. Sonunda, bir stil sayfasını bir uygulamaya değil bir widget'a bağlamak mümkün mü? – SKYnine

+0

@SKYnine bunu nasıl yapacağınızı öğrendiniz mi? (çoklu stil sayfalarını yükle) –

+0

maalesef yapabileceğinizi düşünmüyorum. Ancak, belirli bir stil ile başa çıkmak için bir yol buldum. İstediğiniz nesneye özellik ekleyin, ardından stili stil sayfasına (sınıf gibi) alt sınıflara ayırın. Qt tüm standart stil sayfasından geçecek, ardından özellik adına uyan belirli öğeler için geçersiz kılmaları uygulayacaktır. – SKYnine

3

Tüm uygulama için stil sayfasını müşteri tarafından sağlanan yapılandırmaya göre ayarlamanız yeterlidir. Sen/set yerlerde herhangi bir sayıda bu yapılandırmayı alabilir

http://doc.qt.io/qt-5/qapplication.html#styleSheet-prop

, uygulamada iletişim bir özellikler muhtemelen en doğal yaklaşımdır.

+2

Ölü bağlantı ve alçakgönüllü cevap. –