clicked.connect() 不会访问该方法
clicked.connect() will not access the method
我有一个调用此脚本的单独脚本...我不明白为什么我的按钮点击没有进入相应的功能。我对此很陌生,所以如果您知道答案,能否向我解释一下,以便我学习。
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class Window (QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.urlEdit = QLineEdit()
self.windowWid = QWidget()
urlLabel = QLabel("Enter website to scrape:")
self.urlEdit.setFixedHeight(30)
self.urlEdit.setFixedWidth(200)
layout = QGridLayout(self.windowWid)
layout.addWidget(urlLabel, 0, 0)
layout.addWidget(self.urlEdit, 0, 1)
done = QPushButton("Done",self)
done.setFixedWidth(60)
layout.addWidget(done,2,3)
layout.setRowStretch(4, 1)
layout.setColumnStretch(4,1)
done.clicked.connect(self.grabtext)
def grabtext(self):
print("CANT REACH HERE")
answer = self.urlEdit.text()
print(answer)
删除此行:self.windowWid = QWidget()
并将 layout = QGridLayout(self.windowWid)
更改为 layout = QGridLayout(self)
基本上发生的事情是当您调用显示此小部件时,使用 self.windowWid = QWidget()
行您正在初始化一个空白 QWidget,然后将您的布局和其他元素分配给此小部件。您希望将这些元素分配给 Window 小部件的实例,这就是您使用 layout = QGridLayout(self)
.
的原因
我有一个调用此脚本的单独脚本...我不明白为什么我的按钮点击没有进入相应的功能。我对此很陌生,所以如果您知道答案,能否向我解释一下,以便我学习。
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class Window (QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.urlEdit = QLineEdit()
self.windowWid = QWidget()
urlLabel = QLabel("Enter website to scrape:")
self.urlEdit.setFixedHeight(30)
self.urlEdit.setFixedWidth(200)
layout = QGridLayout(self.windowWid)
layout.addWidget(urlLabel, 0, 0)
layout.addWidget(self.urlEdit, 0, 1)
done = QPushButton("Done",self)
done.setFixedWidth(60)
layout.addWidget(done,2,3)
layout.setRowStretch(4, 1)
layout.setColumnStretch(4,1)
done.clicked.connect(self.grabtext)
def grabtext(self):
print("CANT REACH HERE")
answer = self.urlEdit.text()
print(answer)
删除此行:self.windowWid = QWidget()
并将 layout = QGridLayout(self.windowWid)
更改为 layout = QGridLayout(self)
基本上发生的事情是当您调用显示此小部件时,使用 self.windowWid = QWidget()
行您正在初始化一个空白 QWidget,然后将您的布局和其他元素分配给此小部件。您希望将这些元素分配给 Window 小部件的实例,这就是您使用 layout = QGridLayout(self)
.