我使用PyQt5制作了我的第一个小图形用户界面程序,用于我的工作中的一些数据处理。
我有一个问题-我不能让QFileDialog (打开文件)的焦点放在它的QListView小部件上。(在QFileDialog类中,默认情况下焦点在QLineEdit上)。
最好的解决方案是在更改了setFocus设置的情况下从QFileDialog创建新类,而其他所有设置都保持不变。事实证明,这并不容易,因为我不知道如何访问QFileDialog的内部小部件。
我是PyQt5的新手,即使是Qt C++也找不到任何解决方案。
感谢您的任何建议和想法。
class XFileDialog(QtWidgets.QFileDialog):
"magic code"
file=XFileDialog.getOpenFileName(caption="Open",
filter="FITS (*.fits *.fts *.new)")发布于 2019-05-02 05:32:54
看起来我已经找到解决方案了。也许这对某些人是有用的。
class XFileDialog(QtWidgets.QFileDialog):
def __init__(self):
QtWidgets.QFileDialog.__init__(self)
self.setDirectory(progdir)
def setVisible(self,v):
super(XFileDialog, self).setVisible(v)
self.setAcceptMode(0)
self.setFileMode(1)
self.setFocusPolicy(11)
self.setNameFilter("All (*) ;; FITS (*.fts *.fits *.new)")
self.focusPreviousChild()
class MyWindow(QtWidgets.QWidget):
def __init__(self,parent=None):
QtWidgets.QWidget.__init__(self,parent)
super().__init__()
self.initUI()
def openFile(self):
global progdir
progdir=QtCore.QDir(os.getcwd())
file=XFileDialog()
file.exec().
https://stackoverflow.com/questions/55795777
复制相似问题