标签: filedialog

如何以编程方式操作任何Windows应用程序的常用对话框?

我的最终目标是编写一个实用程序,让我可以在任何对话框中快速设置文件夹,从预设的"收藏夹"列表中进行选择.由于我只是一个业余爱好者,而不是专业人士,我更喜欢使用.NET,因为这是我最熟悉的.我确实意识到这些东西可能需要的东西比我在C#中可以做的更多.

我已经看到一些应用程序能够通过向工具栏添加按钮(例如:对话框助手)或者在标题栏旁边放置额外的按钮来扩展公共对话框(特别是对于另存为...和文件打开).最小化,最大化和/或关闭按钮.要么是不错的选择虽然我没有最模糊的想法从哪里开始.

我尝试过的一种方法是将文件夹名称从我写入的应用程序"拖动"到对话框上的文件名文本框,使用我从Corneliu Tusnea的Hawkeye运行时对象编辑器中拾取的鼠标钩子技术突出显示它,然后预先添加通过使用WM_SETTEXT对SendMessage进行pinvoking来获取路径名.它(有点)有效,但感觉有点笨拙.

任何关于技术或实施的建议都将非常感激.或者,如果现有的实用程序已经执行此操作,请告诉我们!

更新:说完所有内容后,我想我可能会使用现有的实用工具.不过,我想知道是否有一种以编程方式做到这一点.

.net filedialog

5
推荐指数
2
解决办法
1817
查看次数

使文件对话框仅接受目录

我想要一个文件对话框只允许目录,这是我一直在尝试的:

fileDialog = QtGui.QFileDialog()
fileDialog.setFileMode(QtGui.QFileDialog.ShowDirsOnly)
filename = fileDialog.getOpenFileName(self, 'Select USB Drive Location'))
Run Code Online (Sandbox Code Playgroud)

python filedialog qt4 pyqt4

5
推荐指数
3
解决办法
5870
查看次数

MS Office SaveAs类型FileDialog,带有vb中的过滤器

我想创建一个带有过滤器的"另存为"文件对话框,但使用FileDialog类(Microsoft Office 12.0对象库)似乎无法做到这一点.文档实际上在这里提到了这一点,见最后一段,但没有说明为什么?还有另一种方法可以在vb中实现这一目标吗?

我发现FileDialog类不允许这样做很奇怪,因为Word,Excel和Access都内置了这个精确的SaveAs功能.

我意识到FileDialog可以创建为FilePicker(msoFileDialogFilePicker),它允许过滤器,但是这样就不允许选择一个尚不存在的文件,这会使整个点失败.

vba filedialog ms-office

5
推荐指数
1
解决办法
4868
查看次数

Qt自定义保存文件对话框

我需要自定义默认的Qt保存文件对话框:在其中添加一些选项.例如,在文件类型和保存/关闭按钮之间添加一些带有我自己的值的复选框.

Qt有什么方法可以做到吗?

c++ qt filedialog custom-controls savefiledialog

5
推荐指数
1
解决办法
5194
查看次数

在Ubuntu 12.04(GTK)下改进JFileChooser

JFileChooser在Ubuntu 12.04下有问题.我使用此代码来设置外观: javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());

它看起来像这样.使用起来非常不舒服,看起来非常难看:

http://www9.picfront.org/token/9sRH/2012/05/15/2062476.jpg

我希望它看起来像这样:

http://www4.picfront.org/token/1lpa/2012/05/15/2062477.jpg

使用这篇文章中的提示,我尝试使用FileDialog而不是FileChooser.但是FileDialog当我在LOAD模式下启动并点击"打开"按钮时会引发异常.我创建对话框的方式:

FileDialog fd = new FileDialog(frame, "Test", FileDialog.LOAD);
fd.setVisible(true);
Run Code Online (Sandbox Code Playgroud)

例外情况:

Exception in thread "Thread-0" java.lang.NullPointerException
at sun.awt.X11.GtkFileDialogPeer.setFileInternal(GtkFileDialogPeer.java:79)
at sun.awt.X11.GtkFileDialogPeer.run(Native Method)
at sun.awt.X11.GtkFileDialogPeer.showNativeDialog(GtkFileDialogPeer.java:172)
at sun.awt.X11.GtkFileDialogPeer.access$000(GtkFileDialogPeer.java:39)
at sun.awt.X11.GtkFileDialogPeer$1.run(GtkFileDialogPeer.java:114)
Run Code Online (Sandbox Code Playgroud)

我在Ubuntu Linux 12.04下使用Oracle JDK7和Gnome 3(如果这有帮助的话).

有没有人知道我怎么能改善外观JFileChooser或者FileDialog工作?

java ubuntu swing jfilechooser filedialog

5
推荐指数
1
解决办法
1395
查看次数

SWT Filedialog打开主文件夹

我想打开一个FileDialog窗口进入用户主文件夹(即/ home/user或/ Users/unsername)

我使用System.getProperty读取用户主文件夹:

  String homefolder = System.getProperty(user.home);
Run Code Online (Sandbox Code Playgroud)

变量包含正确的主文件夹.但是当我在FileDialog中设置filterpath时,它打开(在linux中)只有/ home级别没有进入用户主目录.

这是源代码:

  FileDialog dialog = new FileDialog(shell); 
  dialog.setText("Choose a certificate");
  String platform = SWT.getPlatform();
  String homefolder = System.getProperty("user.home");
  dialog.setFilterPath(homefolder);
Run Code Online (Sandbox Code Playgroud)

任何的想法?这是一个截图: Swt FileDialog问题

java linux swt filedialog

5
推荐指数
1
解决办法
2150
查看次数

Python中的Tkinter Entry小部件是不可编辑的

当我运行此代码时,文件选择器出现,然后当我完成它时,我无法输入条目小部件,直到我专注于另一个窗口然后回来.为什么会这样?

import tkinter as tk
from tkinter.filedialog import askopenfilename


location = ''
start = tk.Tk()

tk.Label(text='What is the name of your table?').pack()
box = tk.Entry(start, exportselection=0, state=tk.DISABLED)
box.pack()
button = tk.Button(start, text='OK', command=lambda e: None)
button.pack()
location = askopenfilename(defaultextension='.db', 
                           title="Choose your database", 
                           filetypes=[('Database Files', '.db'), ('All files', '*')])
box.config(state=tk.NORMAL)

start.mainloop()
Run Code Online (Sandbox Code Playgroud)

python filedialog tkinter tkinter-entry

5
推荐指数
1
解决办法
1105
查看次数

在一种文件类型Mac中添加多个扩展名-tkinter / filedialog / askopenfilename

我试图用来tkinter filedialog在Mac中选择文件。

这种方式对一种文件类型可以正常工作:

filedialog.askopenfilename(filetypes=[("Excel files", "*.xlsx)])
Run Code Online (Sandbox Code Playgroud)

但是,我要选择xlsxxls文件。我搜索并找到了问题文件对话框,tkinter和打开文件。我使用类似的方式,但是如果我更改为Mac,则无法在Mac上使用:

filedialog.askopenfilename(filetypes=[("Excel files", "*.xlsx; *.xls")])

如何更改在文件对话框中选择xlsxxls文件?

python macos filedialog tkinter

5
推荐指数
2
解决办法
6602
查看次数

需要FileDialog和Java中的文件类型过滤器

我有一个带有按钮/文本字段的JDialog供用户选择文件.这是代码:

FileDialog chooser = new FileDialog(this, "Save As", FileDialog.SAVE );
String startDir = saveAsField.getText().substring( 0, saveAsField.getText().lastIndexOf('\\') );
chooser.setDirectory(startDir);
chooser.setVisible(true);
String fileName = chooser.getFile();
Run Code Online (Sandbox Code Playgroud)

我的问题是,我没有看到所有文件过滤器,而是想提供自定义过滤器,例如Word文档或其他东西.我使用setFilenameFilter()设置了一个自定义的FilenameFilter,但它似乎不起作用.我注意到它在文档中说自定义过滤器在Windows中不起作用(这在Windows XP/Vista/7中运行).这是我对过滤器的实现:

chooser.setFilenameFilter( new geFilter() );
public class geFilter implements FilenameFilter {
    public boolean accept(File dir, String name) {
        return name.endsWith( ".doc" ) || name.endsWith( ".docx" );
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这里做错了吗?此外,我想在框中显示一个描述,如"Microsoft Word(*.doc*.docx)",但我不知道该怎么做.

任何和所有的帮助表示赞赏.

java swing filedialog awt

4
推荐指数
2
解决办法
2万
查看次数

是否可以防止出现文件对话框?为什么?

假设我输入了[type = file]元素,我想拦截onclick事件并阻止在不满足条件时出现文件对话框.可能吗?为什么,如果 - 不是吗?

html filedialog file input event-handling

4
推荐指数
1
解决办法
4889
查看次数