假设我有一个列表,
l = ['h','e','l','l','o']
我希望能够获取最后两个项目并使用它们,但我不知道列表有多长
(它是用户输入).所以不能这样做,l[3:]因为如果列表是七个(或任何数字)项长而不是五个?
我如何从列表的后面算起?
我有一些代码在窗口中显示一些小部件.但是小部件不会出现在窗口中:
#!/usr/bin/python
import sys
from PySide import QtGui
class Window(QtGui.QMainWindow):
def __init__(self):
super(Window,self).__init__()
self.initUI()
def initUI(self):
self.setGeometry(200,500,400,400)
self.setWindowTitle("A Grid Layout")
l1 = QtGui.QLabel("Label 1")
l2 = QtGui.QLabel("Label 2")
l3 = QtGui.QLabel("Label 3")
le1 = QtGui.QLineEdit()
grid = QtGui.QGridLayout()
grid.setSpacing(10)
grid.addWidget(l1,1,0)#widget,row,column
grid.addWidget(l2,2,1)
grid.addWidget(l3,3,2)
grid.addWidget(le1,4,0,1,2)#row,column span
self.setLayout(grid)#sets layout
self.show()
def main():
app = QtGui.QApplication(sys.argv)
win = Window()
exit(app.exec_())
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
我是PySide布局的新手,所以非常感谢任何帮助.
我有一个小的Python程序,它获取Tkinter规模的值并将其放入标签中.
#!/usr/bin/python
from Tkinter import *
class App:
strval = StringVar()
def __init__(self,master):
frame = Frame(master)
frame.pack()
self.slide = Scale(frame, command = self.up, from_ = 1, to = 100)
self.out = Label(frame, textvariable = self.strval)
self.slide.pack()
self.out.pack()
def up(self,newscale):
amount = str(newscale)
self.strval.set(amount)
root = Tk()
app = App(root)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
当我运行程序时,它给了我和错误消息:
Traceback (most recent call last):
File "/Users/alex/Desktop/Python/Tkinter/scale_Entry.py", line 5, in <module>
class App:
File "/Users/alex/Desktop/Python/Tkinter/scale_Entry.py", line 7, in App
strval = StringVar()
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk/Tkinter.py", line 254, in __init__
Variable.__init__(self, …Run Code Online (Sandbox Code Playgroud) python ×3
python-2.5 ×2
class ×1
list ×1
macos ×1
pyside ×1
qgridlayout ×1
string ×1
tkinter ×1