不显示小部件
Widgets are not displayed
我目前正在根据 Joshua Willman 的一本名为“Modern PyQt”的书编写有关如何创建 GUI 应用程序的教程,但我被困在门外:
我从书中复制粘贴了一个基本代码片段,并尝试一点一点地调整它,而不是在没有任何实际试验和错误的情况下阅读一堆文本。我可以显示 window 并调整它的大小和属性,但是当我尝试将其他小部件附加到主 window 时,它们就是不显示。
这是我目前得到的:
# First practical example from the book: Pomodoro time manager
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
from PyQt5.QtGui import QIcon
class Pomodoro(QWidget):
def __init__(self): # Create default constructor
super().__init__()
self.initializeUI()
def initializeUI(self):
"""Initialize the window and display its contents to the screen."""
self.setGeometry(int((SCREEN_WIDTH-WINDOW_WIDTH)/2),int((SCREEN_HEIGHT-WINDOW_HEIGHT)/2),WINDOW_WIDTH,WINDOW_HEIGHT) # x,y,w,h
self.setWindowTitle('Bortism')
# self.setWindowIcon(QIcon("Borticon.png"))
self.button1 = QPushButton()
self.button1.setText('Button')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
WINDOW_WIDTH, WINDOW_HEIGHT = 1000,600
SCREEN_X, SCREEN_Y, SCREEN_WIDTH, SCREEN_HEIGHT = app.desktop().screenGeometry().getRect()
window = Pomodoro()
sys.exit(app.exec_())
要将一个小部件显示为另一个小部件的一部分,则要求第一个小部件是第二个小部件的子项。这可以通过传递父级或使用布局(也由父级传递给它)来完成。因此,在您的情况下,您必须更改为:
self.button1 = QPushButton(self)
我目前正在根据 Joshua Willman 的一本名为“Modern PyQt”的书编写有关如何创建 GUI 应用程序的教程,但我被困在门外:
我从书中复制粘贴了一个基本代码片段,并尝试一点一点地调整它,而不是在没有任何实际试验和错误的情况下阅读一堆文本。我可以显示 window 并调整它的大小和属性,但是当我尝试将其他小部件附加到主 window 时,它们就是不显示。
这是我目前得到的:
# First practical example from the book: Pomodoro time manager
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
from PyQt5.QtGui import QIcon
class Pomodoro(QWidget):
def __init__(self): # Create default constructor
super().__init__()
self.initializeUI()
def initializeUI(self):
"""Initialize the window and display its contents to the screen."""
self.setGeometry(int((SCREEN_WIDTH-WINDOW_WIDTH)/2),int((SCREEN_HEIGHT-WINDOW_HEIGHT)/2),WINDOW_WIDTH,WINDOW_HEIGHT) # x,y,w,h
self.setWindowTitle('Bortism')
# self.setWindowIcon(QIcon("Borticon.png"))
self.button1 = QPushButton()
self.button1.setText('Button')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
WINDOW_WIDTH, WINDOW_HEIGHT = 1000,600
SCREEN_X, SCREEN_Y, SCREEN_WIDTH, SCREEN_HEIGHT = app.desktop().screenGeometry().getRect()
window = Pomodoro()
sys.exit(app.exec_())
要将一个小部件显示为另一个小部件的一部分,则要求第一个小部件是第二个小部件的子项。这可以通过传递父级或使用布局(也由父级传递给它)来完成。因此,在您的情况下,您必须更改为:
self.button1 = QPushButton(self)