我正在PyQt4中创建一个应用程序,到目前为止,这是我的代码:
import sys
from PyQt4 import QtGui, QtCore
class MainWindow(QtGui.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.initUi()
def initUi(self):
self.setWindowTitle('Main Menu')
self.setFixedSize(1200, 625)
self.firstWidgets()
self.show()
def firstWidgets(self):
self.vbox1 = QtGui.QVBoxLayout()
self.task1 = QtGui.QLabel('Check 1', self)
self.task1CB = QtGui.QCheckBox(self)
self.hbox1 = QtGui.QHBoxLayout()
self.hbox1.addWidget(self.task1)
self.hbox1.addWidget(self.task1CB)
self.vbox1.addLayout(self.hbox1)
self.setLayout(self.vbox1)
def main():
application = QtGui.QApplication(sys.argv)
gui = MainWindow()
sys.exit(application.exec_())
if __name__=='__main__':
main()
我的问题在MainWindow.firstWidgets()
。我尝试设置布局,但是即使这是我第一次使用.setLayout
该表格,也会出现错误,这使我感到困惑。
QWidget :: setLayout:尝试在MainWindow“”上设置QLayout“”,该窗口已经具有布局
您不能QLayout
直接在上设置QMainWindow
。您需要创建一个QWidget
并将其设置为上的 中央窗口小部件
,QMainWindow
然后将其分配给该 窗口小部件QLayout
。
wid = QtGui.QWidget(self)
self.setCentralWidget(wid)
layout = QtGui.QVBoxLayout()
wid.setLayout(layout)
问题内容: 我使用答案中的代码并进行了一些更改。因为我的代码必须读取一些文件并从这些文件中获取选项卡的名称,所以我在代码中添加了一个for循环。这是我的代码。 它确实显示了我的标签。但是,我遇到了一个警告: QLayout:尝试将QLayout“”添加到已经具有布局的QWidget“”中 由于此选项卡代码只是整个代码的一部分,因此该问题将阻止数据流。而且我不知道这是怎么回事。我搜索了答案,但其他答
问题内容: 我有一个小部件,当切换选项时,它会改变。这会使所有布局和小部件失效。我保留所有布局的列表,因此可以使用类似于以下答案的方法删除它们: 如何摆脱旧的布局并设置新的布局? 该文档非常简洁,显然不适用于python: QWidget.setLayout(self,QLayout) QLayout参数将其所有权转移到Qt。 将此窗口小部件的布局管理器设置为布局。 如果此小部件上已经安装了布局管
我试图创建一个假想的车辆,有自动和手动模式的用户界面。当用户将车辆设置为其中一种模式时,它应该只显示与该模式相关的控件,我已经使用CardLayout完成了这一点。 然而,我也希望能够为每张卡片手动指定布局中各种元素的位置——对于静态布局,我会按照,但在CardLayout上使用时,这只会给出一个空白窗口(因此下面代码中有两行注释掉)。 我如何实现这两个目标?我目前的代码如下:
问题内容: 以下代码中的行无效。为什么?我该如何解决? 问题答案: 您需要调用小部件。默认情况下,a不会填充背景。 有关更多信息,请参见该属性的文档。 如果要使用任意背景色,则需要修改小部件的调色板:
请让我知道如何解决这个问题。
我是个彻头彻尾的傻瓜。我正在尝试设置一个Redis连接,并能够使用c方法将密钥设置到Redis中。c代码很长,所以我只包括相关部分:网页。H 网页。cpp 编译错误 我使用的c Redis库是https://github.com/brianwatling/redispp 注意***我尝试使用Redisp命名空间,比如在这个例子中,但是连接类会与其他类冲突。https://github.com/br