2014-09-27 6 views
0

내 앱에서 스타일로 사용하려는 온라인 QSS 파일 (http://tech-artists.org/forum/showthread.php?2359-Release-Qt-dark-orange-stylesheet)이 있습니다. 이 파일을 내 프로그램으로 가져 오는 여러 가지 방법을 시도해 왔지만 프로그램을 실행할 때마다 파일을 성공적으로 열지 못합니다.
현재 내 프로젝트와 동일한 디렉토리에 myStyle.qss 파일이 저장되어 있습니다. 나는 또한 파일을 qrc 파일에 삽입하는 것에 대해 들었다. 파일을 열 때이 파일이 필요하거나 파일을 저장하는 편리한 방법일까요? 내 코드까지 입력 : 외부 QSS 파일에 QT 스타일을 설정하는 데 문제가 있습니다

QApplication a(argc, argv); 
 
    QFile file(":/myStyle.qss"); 
 
    file.open(QIODevice::ReadOnly); 
 
    QString style(file.readAll()); 
 
    a.setStyleSheet(style); 
 
    file.close();
나는이 코드 블록을 여러 곳에서 보았습니다. 그래서 나는 대다수의 코드를 올바르게 가지고 있으며, 내 주요 문제는 파일 배치에 있습니다. 잘못된 파일 경로가 기록되어 있습니다. 감사합니다.

답변

0

":/myStyle.qss"Qt 자원 시스템을 사용하는 경로입니다. 당신이 말했듯이,이 파일은 같은 디렉토리에 있으므로, "myStyle.qss"의 nornal 경로를 설정하려고 시도하지만, Qt이 빌드 디렉토리에서이 파일을 검색하므로 신중해야합니다. 따라서 파일을 빌드 디렉토리에 배치해야합니다.

하지만 qss 파일이 완료되면 리소스에 저장하십시오. 예를 this의 웹 (이 작업을 수행하는 방법을 많은 사례가있다.이 경우 당신이 ":/myStyle.qss"

가 왜 자원이 필요합니까 현재 경로가 필요합니다?

자료는 exe 파일로 구축된다 당신이 손실되는 일이 없습니다 이 파일은 사용자가 삭제하거나 다시 쓸 수 없습니다. 사용자가 qss 파일을 삭제하면 스타일이 모두 실패하므로 보호해야합니다.