Wyświetl drugi messagebox

0

Witam,

mam coś takiego jak poniżej. Teraz w message box wyświetla mi zawartość zmiennej (n[0]).

Ale teraz bym chciał, aby po wciśnięciu ok na message box, wyświetlił się kolejny. Tym razem z zawartością (n[1]).
Próbowałem na różne sposoby, ale nie mogę osiągnąć zamierzonego celu. Pomoże mi ktoś przerobić / rozbudować ten kod ?

 def main():
    app = QtGui.QApplication(sys.argv)
    msgBox = QtGui.QMessageBox()
    msgBox.setWindowTitle('Beta 0.1')
    msgBox.setText(n[0])
    msgBox.show();
    sys.exit(app.exec_())


if __name__ == '__main__':
    main() 
1

Po pierwsze, na przyszłość: Pokaż więcej kodu i używaj < code = python > .
Możesz zrobić funkcję, która będzie to wyświetlać:

 def view_msgBox(arg1):
    msgBox = QtGui.QMessageBox()
    msgBox.setWindowTitle('Beta 0.1')
    msgBox.setText(n[arg1])
    msgBox.show()

a tam wpisujesz np. pętle for:

for i in range(0,10): 
    # zamiast 10 wpisujesz tutaj maksymalną wartość listy. Możesz wpisać for i in range(0,len(n)-1)
    view_msgBox(i)

Po msgBox.show() nie daje się średnika. - taka mała literówka

0
file = open('test.txt', encoding="utf8").read()
lines = file.splitlines()

slowa=[]

for i in range(len(lines)):
    tablica = lines[i].split("-")
    slowa.append(tablica)

n = random.choice(slowa)

def view_msgBox(arg1):
    app = QtGui.QApplication(sys.argv)
    msgBox = QtGui.QMessageBox()
    msgBox.setWindowTitle('Beta 0.1')
    msgBox.setText(n[arg1])
    msgBox.show()
    sys.exit(app.exec_())

for i in range(0, 2):
    print(i)
    view_msgBox(i)

Zrobiłem tak, ale niestety kod wykonuje się tylko jeden ray z parametrem "0"

1 użytkowników online, w tym zalogowanych: 0, gości: 1