这可能是一个愚蠢的,但我想知道背景操作的差异.
InputStream is = new FileInputStream(filepath);FileInputStream is = new FileInputStream(filepath);上面两行代码之间的区别是什么,以及它们使用的场景.
在QT中,创建lineEdit的使用该setText()方法显示文本.
但是光标可以移动默认文本.我希望光标不能为默认文本移动.
我的lineEdit类型已设置为密码.因此,默认文本("密码")也显示为"********".每当用户输入类型时,必须将类型更改为密码,当没有文本或用户没有输入任何文本时,lineEdit应显示纯文本"密码"
有什么想法解决上述两个问题?

在Mac OSX Lion中,我正在尝试为特定文件类型设置默认应用程序.使用下面的Apple脚本,我们可以为特定的"file.abc"设置默认应用程序.
tell application "System Events"
set default application of file "/Users/test/Desktop/file.abc" to "/Applications/TextEdit.app"
end tell
Run Code Online (Sandbox Code Playgroud)
但我想为所有文件类型或扩展名为"abc"的文件设置相同的默认应用程序.
我已经尝试了以下方法来完成它.它添加了一个条目<HOME>/Library/Preferences/com.apple.LaunchServices.plist.但是文件不会使用指定的应用程序打开.
defaults write com.apple.LaunchServices LSHandlers -array-add "<dict><key>LSHandlerContentTag</key><string>abc</string><key>LSHandlerContentTagClass</key><string>public.abc</string><key>LSHandlerRoleAll</key><string>com.apple.textedit</string></dict>"
Run Code Online (Sandbox Code Playgroud)
希望有人知道我失去了什么来实现它.
答案发现:
defaults write com.apple.LaunchServices LSHandlers -array-add "<dict><key>LSHandlerContentTag</key><string>ugurugu</string><key>LSHandlerContentTagClass</key><string>public.filename-extension</string><key>LSHandlerRoleAll</key<string>org.videolan.vlc</string></dict>"
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user
Run Code Online (Sandbox Code Playgroud) applescript ×1
file ×1
filesystems ×1
inputstream ×1
java ×1
java-io ×1
macos ×1
objective-c ×1
pyqt ×1
qlineedit ×1
qt ×1