2010-11-19 6 views
1

qt 디자이너로 다음 양식을 만들었습니다. QDir 및 QFileDialog와 함께 작동하고 파일을 listWidget에로드하는 파일 추가 버튼을 추가했습니다. 여기 qt로 파일 찾아보기, 나열 및 삭제

alt text

는 파일이 양식을 작성 내 방법이 있습니다. 내가 좋아하는 것

void RightDoneIt::changeDirectory() 
{ 
/* select a directory using file dialog */ 
    QString path = QFileDialog::getExistingDirectory (this, tr("Directory"), directory.path()); 
    if (path.isNull() == false) 
    { 
     directory.setPath(path); 
     fillList(); 
    } 
} 


/*get list of file from given directory and the append it to listWidget */ 
void RightDoneIt::fillList() 
{ 
    ui->listWidget->clear(); 
    ui->listWidget->addItems(directory.entryList()); 



} 

그래서 나는 파일 위치와이 파일을 버튼의 작업을 제거하는 것도 파일 이름 옆에 파일 크기를 나열 할 수 있습니다 내 코드를 수정합니다.

Ctrl 키 또는 Command 키 (Mac의 경우)를 사용하여 파일을 선택하고 삭제를 눌러 내 목록에서 파일을 제거하고 싶을뿐입니다.

나는 listwidget 대신 QtreeWidget을 사용해야합니까?

어떻게해야할까요?

모든 코드 제안 사항?

감사합니다.

답변

3

파일 만 나열하면 (폴더 및 하위 폴더 구조 없음) QTreeWidget이 필요하지 않습니다.

파일 위치 및 파일 크기를 표시하려는 경우 QTableWidget (또는 QTableView)을 사용합니다.

그러나 나는 QFileSystemModel을 살펴볼 것을 제안합니다. 앱으로 무엇을하려고하는지에 따라이 클래스가 유용 할 수 있습니다.이 모델을 사용하여 뷰 위젯에 표시 할 수 있습니다.

QFileSystemModelremove()과 같은 방법이 있으며 파일 이름 바꾸기도 처리합니다.

+0

안녕 Jerome, 나는 시스템에서 목록에서 파일을 삭제하려고했다. – Sharethefun