سلام . من می خواهم به وسیله یک پنجره دیالوگ آدرس یک پوشه را بگیرم باید از چه کلاسی استفاده کرد و اگه مثالی بزنید دیگه خیلی خوب می شود
سلام . من می خواهم به وسیله یک پنجره دیالوگ آدرس یک پوشه را بگیرم باید از چه کلاسی استفاده کرد و اگه مثالی بزنید دیگه خیلی خوب می شود
کلاس QFileDialog . سپس با setFileMode آن را به QFileDialog::Directory تنظیم کنید تا فقط دایرکتوری قابل انتخاب باشد.
مثال و توضیحات در این لینک ها:
http://doc.trolltech.com/4.6/dialogs-findfiles.html
http://doc.trolltech.com/4.6/qfiledi...#FileMode-enum
سلام
من این را می نویسم اما اون جوابی را که باید بگیرم نمی گیرم.
QString directory = QFileDialog::getExistingDirectory(this,
tr("Find Files"), QDir::currentPath());
لطفا بگین که چه جوری از setFileMode استفاده کنم((مشکلم گرامری هست))
متاسفانه سیستم را چند وفتی هست پاکسازی کردم، هنوز روی سیستم کامپایلر جدید و Qt نصب نکردم تا دقیق تست کنم.
در هر صورت مورد زیر را تست کنید ببینید منظورتان همین هست یا نه، یعنی گزینه آخر ShowDirsOnly را قرار دهید تا فقط فولدر ها نمایش داده شود (دیگه setFileMode نمی خواهد):
QString dir = QFileDialog::getExistingDirectory(this, tr("Open Folders"),
QDir::currentPath(), QFileDialog::ShowDirsOnly);
سلام
منظور من در کل این هست که من می خواهم وقتی روی پوشه ی x کلیک می کنم و دکمه ی open انتخاب مب کنم آدرس آون پوشه برگردد اما این دستورات بالا وقتی من open را انتخاب می کنم بوشه ی x را باز می کند و به داخل آن می رود .
وقتی در قطعه کد فوق ok را کلیک می کنید، آدرس فولدر در متغیر dir که از نوع QString هست ذخیره می شود، مثلا سپس می توانید آن مسیر را در essageBox نمایش دهید یا هر جای دیگر استفاده کنید:
QString dir = QFileDialog::getExistingDirectory(this, tr("Open Folders"),
QDir::currentPath(), QFileDialog::ShowDirsOnly);
QMessageBox msgBox;
msgBox.setText(dir);
msgBox.exec();