[ubuntu] zenity 파일선택

spring·2020년 11월 9일
0

1. 파일 선택

zenity로 쉽게 기본 파일 선택 다이얼로그를 띄울 수 있다.
주목해야할 옵션은 --multiple--file-filter 옵션이다.

std::string cmd="zenity --file-selection --multiple --file-filter=\'Image files (png,jpg,bmp) | *.png *.jpg *.bmp\'";
FILE* fp=popen(cmd.c_str(), "r");
std::string buffer;
char c;
while(fread(&c,1,1,fp)==1 && c!=EOF) {
    buffer.push_back(c);
}
if(buffer.length()==0)return;
buffer.pop_back(); //last char is '\n'

std::vector<std::string> files;
std::string::size_type offset = 0;
while (offset<buffer.length()){
    std::string word = buffer.substr(offset, buffer.find('|', offset) - offset);
    offset += word.length() + 1;
    files.push_back(word);
}

2. Input

References

profile
Researcher & Developer @ NAVER Corp | Designer @ HONGIK Univ.

0개의 댓글