我一直在尝试为我的实验室同事创建GUI程序。
主窗口上有一些文本框,用于显示用户添加的文件目录。
我是PyQt5的新手,我想在文本框中添加功能。
例如,textbox = QLineEdit().. textbox1 = .. textbox2 = ..
因此,我想在添加文件之前选择文本框,方法是单击主窗口,然后将文件目录写入正确的文本框。
我尝试进行自定义clickablelineedit,但未成功。
还有另一种方法吗?
国王的问候,
编辑:
class Mutation_Finder():
def __init__(self):
... (Main Window Code)
def openFileNamesDialog(self, **kwargs):
self.options = QFileDialog.Options()
self.options |= QFileDialog.DontUseNativeDialog
self.files, self._= QFileDialog.getOpenFileNames(self,"Dosya Ac","","All Files (*);;.abi,.fasta (*.abi,*fasta)", options=self.options)
def toDoSomething():
if textbox is clicked:
for i in range(len(self.files):
self.textbox.insert(self.files[i])
if textbox1 is clicked:
...
if textbox2 is clicked:
...
答案 0 :(得分:0)
已解决:
class cQLineEdit(QLineEdit):
clicked=pyqtSignal()
def __init__(self,*args, **kwargs):
super().__init__(*args,**kwargs)
def mousePressEvent(self,QMouseEvent):
self.clicked.emit()
class MainClass(cQLineEdit)
textbox=cQLineEdit(self)
....
....
self.clicked.connect(...)
我用这种方法解决了它,但是单击事件仍然有问题,因为当我从QLineEdit中单击时,出现错误:
self.clicked.emit()AttributeError:“ className”没有 签名为clicked()的信号
这样,我也不知道该如何处理。
除此之外,这里是与解决方案相关的链接。 Pyqt 5 how to make QLineEdit clickable