Python PyQt5问题。 (菜单,缩放)

时间:2020-10-19 13:39:49

标签: python user-interface pyqt5

我正在使用PyQt5,但无法使按钮正常工作。 与我的按钮相关的代码是:

    Import_Deck = QPushButton("Import Deck", self)
    Import_Deck.resize(150, 50)
    Import_Deck.clicked.connect(self.importdeck)
    layout.addWidget(Import_Deck, 0, 0)

尽管它确实显示在我的窗口中,但它没有调整大小。放置layout.addWidget(Import_Deck, 0, 40)也不会移动它。我已经尝试过QtGeometry(Import_Deck, 0, 0, H, W)QtGeometry(Import_Deck, H, W, 0, 0); QtGeometry(Import_Deck, X, Y, 0, 0); QtGeometry(Import_Deck, 0, 0, X, Y)。 (X,Y,H和W都用实际数字代替。我只是出于示例目的放置变量。)
我也不知道如何使菜单框正常工作。


    formatmenu = QToolButton()
    formatmenu.setText("Formats")
    formatmenu.setMenu(menu)
    formatmenu.setPopupMode(QToolButton.MenuButtonPopup)
    layout.addWidget(formatmenu, 0, 0)

主菜单栏似乎也不适合我。我尝试复制和粘贴示例代码,但是没有用。

def mainmenufunc(self):
        mainMenu = self.menuBar()
        fileMenu = mainMenu.addMenu('Decklist')
        editMenu = mainMenu.addMenu('Probability')
        viewMenu = mainMenu.addMenu('Reccomnended Mana')
        self.show()

我不知道我的问题是什么,因为我已经引用了许多不同的指南来尝试解决这些问题。
任何帮助将不胜感激!

MRE代码:

import json
import numpy as np
import math
import os
import PyQt5
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import sys


class Window(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        self.setGeometry(0, 0, 2000, 992)
        self.setWindowTitle("MTGCalc")
        layout = QGridLayout()
        self.setLayout(layout)
        Import_Deck = QPushButton("Import Deck", self)
        Import_Deck.resize(150, 50)
        Import_Deck.adjustSize()
        layout.addWidget(Import_Deck, 0, 0, 0, -100)
        self.mainmenufunc()

    def mainmenufunc(self):
        mainMenu = self.menuBar()
        fileMenu = mainMenu.addMenu('Decklist')
        editMenu = mainMenu.addMenu('Probability')
        viewMenu = mainMenu.addMenu('Reccomnended Mana')
        self.show()
app = QApplication(sys.argv)

screen = Window()
screen.show()

sys.exit(app.exec_())

_main_()

此错误给出:AttributeError: 'Window' object has no attribute 'menuBar'
按钮问题:

#self.mainmenufunc()

    #def mainmenufunc(self):
    #    mainMenu = self.menuBar()
    #    fileMenu = mainMenu.addMenu('Decklist')
    #    editMenu = mainMenu.addMenu('Probability')
    #    viewMenu = mainMenu.addMenu('Reccomnended Mana')
    #    self.show()

以上所有内容均已注释掉。 实际上,即使在菜单按钮上也不会显示菜单按钮,所以我不知道该怎么做,除了:


        formatslider = QToolButton()
        formatslider.setText("Formats")
        formatslider.setMenu(menu)
        formatslider.setPopupMode(QToolButton.MenuButtonPopup)
        layout.addWidget(formatslider, 0, 0)

所有这些都被添加了。

0 个答案:

没有答案