小编wza*_*lor的帖子

Python函数范围

我有一个关于python函数范围的问题.我已经包含了一个示例,说明了我遇到的问题.

fun0重新定义了varible c列表中的第一个条目.这个变化反映在fun0之外,即使我没有从fun0返回任何值.

fun1完全重新定义变量c,但更改不会在fun1之外反映出来.同样,fun2重新定义了c,并且更改不会在fun2之外反映出来.

我的问题是,为什么fun0修改VAL3主要功能,同时FUN1FUN2不修改VAL4val7分别?

def fun0(a, b, c):
    c[0] = a[0] + b[0]
    return

def fun1(a, b, c):
    c = a[0] + b[0]
    return

def fun2(a, b, c):
    c = a + b
    return

def main():
    val1 = ['one']
    val2 = ['two']
    val3 = ['']
    fun0(val1, val2, …
Run Code Online (Sandbox Code Playgroud)

python

5
推荐指数
1
解决办法
173
查看次数

PyQt MainWindow 不显示小部件

我正在用 PyQt 制作一个 GUI,我的 MainWindow 类有问题。该窗口不显示我在其他类中定义的小部件,或者它会在左上角显示一小部分小部件,然后切断小部件的其余部分。有人可以帮我解决这个问题吗?

这是一些显示我的问题的示例代码。

import sys
from PyQt4 import QtGui, QtCore

class MainWindow(QtGui.QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent=parent)
        self.resize(300, 400)
        self.centralWidget = QtGui.QWidget(self)
        self.hbox = QtGui.QHBoxLayout(self.centralWidget)
        self.setLayout(self.hbox)

        names = ['button1', 'button2', 'button3']
        testButtons = buttonFactory(names, parent=self)
        self.hbox.addWidget(testButtons)

class buttonFactory(QtGui.QWidget):
    def __init__(self, names, parent=None):
        super(buttonFactory, self).__init__(parent=parent)
        self.vbox = QtGui.QVBoxLayout()
        self.setLayout(self.vbox)
        for name in names:
            btn = QtGui.QPushButton(name)
            self.vbox.addWidget(btn)

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    gui = MainWindow()
    gui.show()
    app.exec_()
Run Code Online (Sandbox Code Playgroud)

python qt pyqt

1
推荐指数
1
解决办法
5626
查看次数

标签 统计

python ×2

pyqt ×1

qt ×1