def __init__(self, parent, table_name): super(activeTable, self).__init__() self.ui = Ui_activeTable() self.ui.setupUi(self) self.parent = parent self.table_name = table_name self.ui.tableLabel.setText(table_name) self.ui.supriseButton.clicked.connect(self.suprise)
class activeTable(QWidget): def __init__(self, parent, table_name): super(activeTable, self).__init__() self.ui = Ui_activeTable() self.ui.setupUi(self) self.parent = parent self.table_name = table_name self.ui.tableLabel.setText(table_name) self.ui.supriseButton.clicked.connect(self.suprise) def suprise(self): # Generate random random number between 1-100. roll = randint(1, 100) # Parse the group file. picked_encounter = None found_table = False with open(self.parent.filename, 'r') as file: total = 0 # Parse until we find the table entry. for line in file: if line.rstrip('\n') == "table:" + self.table_name: found_table = True elif found_table == False: continue elif line.startswith("table_encounter:"): line = line.rstrip('\n').split(':') line.pop(0) line = "".join(line) line = line.split(',') total += int(line[1]) if roll <= total: picked_encounter = line[0] break # Close current window and open the picked encounter. self.w = activeEncounter(self.parent, picked_encounter, self.table_name) self.w.show()