我对编程完全陌生。我想为Windows创建一个Flashcard应用程序。到目前为止,我可以说我的 "程序 "工作得很好,但当我点击我的小部件时,我不能设法打开一个新窗口。我需要知道我怎样才能准确而具体地写出代码--我必须在什么地方添加具体的内容。 在新窗口中,我想有一个文本字段,我可以写一些注释,选择是否要把文本写成 "强"、"弯 "之类的东西。
我在文档中进行了研究,尝试了一些东西,但它并不像它应该的那样工作。 我希望有人能帮助我解决这个 "问题"。我想在我点击 "甲板 "和其他按钮时创建一个新窗口。 另外,我想在左上角有一个菜单,我可以点击 "新甲板 "或 "帮助 "或类似的东西。
Here is my Code
from PyQt5 import QtWidgets, QtGui, QtCore
import sys
class MyWindow(QtWidgets.QMainWindow):
def __init__(self):
super(MyWindow, self).__init__()
self.initUI()
self.setGeometry(100, 100, 1280, 900)
self.setWindowTitle("Flashcards!")
def initUI(self):
wid = QtWidgets.QWidget(self)
self.setCentralWidget(wid)
self.screenObject = QtWidgets.QDesktopWidget().screenGeometry(0)
self.line = QtWidgets.QFrame(self)
self.line.setGeometry(QtCore.QRect(0, 0, self.screenObject.width(), 2))
self.line.setStyleSheet("border: 1px solid rgb(170, 170, 170)")
self.line_2 = QtWidgets.QFrame(self)
self.line_2.setGeometry(QtCore.QRect(0, 35, self.screenObject.width(), 2))
self.line_2.setStyleSheet("border: 1px solid rgb(170, 170, 170)")
self.topfont = QtGui.QFont()
self.topfont.setBold(True)
self.topfont.setWeight(75)
self.topfont.setPointSize(9)
###########Buttons####################################################
self.deckLabel = QtWidgets.QLabel(self)
self.deckLabel.setText("Decks")
self.deckLabel.setFont(self.topfont)
self.deckLabel.setStyleSheet("QLabel::hover {color: rgb(100, 100, 100)}")
self.deckLabel.mousePressEvent = self.clicked
self.addLabel = QtWidgets.QLabel(self)
self.addLabel.setText("Add")
self.addLabel.setFont(self.topfont)
self.addLabel.setStyleSheet("QLabel::hover {color: rgb(100, 100, 100)}")
self.addLabel.mousePressEvent = self.clicked
self.browseLabel = QtWidgets.QLabel(self)
self.browseLabel.setText("Browse")
self.browseLabel.setFont(self.topfont)
self.browseLabel.setStyleSheet("QLabel::hover {color: rgb(100, 100, 100)}")
self.browseLabel.mousePressEvent = self.clicked
self.statsLabel = QtWidgets.QLabel(self)
self.statsLabel.setText("Stats")
self.statsLabel.setFont(self.topfont)
self.statsLabel.setStyleSheet("QLabel::hover {color: rgb(100, 100, 100)}")
self.statsLabel.mousePressEvent = self.clicked
self.syncLabel = QtWidgets.QLabel(self)
self.syncLabel.setText("Sync")
self.syncLabel.setFont(self.topfont)
self.syncLabel.setStyleSheet("QLabel::hover {color: rgb(100, 100, 100)}")
self.syncLabel.mousePressEvent = self.clicked
self.hbox = QtWidgets.QHBoxLayout()
self.hbox.setSpacing(60)
self.hbox.addStretch()
self.hbox.addWidget(self.deckLabel)
self.hbox.addWidget(self.addLabel)
self.hbox.addWidget(self.browseLabel)
self.hbox.addWidget(self.statsLabel)
self.hbox.addWidget(self.syncLabel)
self.hbox.addStretch()
self.hbox.setAlignment(QtCore.Qt.AlignTop)
wid.setLayout(self.hbox)
sys.exit(app.exec_())