Saya mencoba membuat tombol dari data yang saya dapatkan dari file txt. Dan saya perlu membuat setiap tombol individual di kelas (tombol) yang berbeda karena kode yang akan dieksekusi akan disetel ke yang terakhir dimuat untuk semuanya. Tetapi ketika saya membuat tombol dan mengatur induknya sebagai id GUI crash dan mengatakan Window tidak terdefinisi meskipun dibuat sebelum saya membuat tombol. Dan bahkan IDE saya tidak mengatakan bahwa GUI tidak digunakan (saya mencobanya tanpa mengatur stylesheet). **EDIT: ** file txt saya: namanya path.txt
/home/martin/Documents/Zabava/Hry/Eu4_v1.25.1/start.sh$$None$$Europa Universalis 4
/home/martin/TeamSpeak3-Client-linux_amd64/ts3client_runscript.sh$$None$$TeamSpeak 3
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sat Aug 25 22:08:45 2018
@author: martin
"""
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#Created on Sat Aug 25 17:24:33 2018
import sys
from PyQt4 import QtGui, QtCore
from subprocess import call
paths=[]
class window(QtGui.QMainWindow):
def __init__(self):
super(window,self).__init__()
self.setGeometry(50,50,500,500)
self.setWindowTitle(".sh Launcher")
self.setWindowIcon(QtGui.QIcon("Icons/icon.png"))
menu_add_app=QtGui.QAction("Add Application",self)
menu_add_app.setShortcut("Ctrl+A")
menu_add_app.triggered.connect(self.add_app)
menu_quit_app=QtGui.QAction("Quit",self)
menu_quit_app.setShortcut("Ctrl+Q")
menu_quit_app.triggered.connect(self.quit_app)
main_menu=self.menuBar()
menu=main_menu.addMenu("Menu")
menu.addAction(menu_add_app)
menu.addAction(menu_quit_app)
self.home()
def build_apps(self):
global paths
print(len(paths))
for i in range(len(paths)):
self.data=paths[i]
if self.data[1]=="None":
self.data[1]=="Icons/icon.png"
self.data.append(i)
buttons(self.data)
def home(self):
self.build_apps()
#button_add = QtGui.QPushButton("Add Application",self)
#button_add.clicked.connect(self.add_app)
#button_quit=QtGui.QPushButton("Quit",self)
#button_quit.clicked.connect(self.quit_app)
#button_quit.move(110,0)
self.show()
def add_app(self):
pass
def quit_app(self):
sys.exit()
class buttons():
def __init__(self,data):
super(buttons,self).__init__()
self.data=data
self.path=self.data[0]
self.icon=QtGui.QIcon(self.data[1])
self.text=self.data[2]
self.pos=self.data[3]
self.button=QtGui.QPushButton(self.icon,self.text,GUI) #I am setting GUI as the parrent
self.button.clicked.connect(self.execute)
self.button.move(0,self.pos*25+30)
self.button.resize(500,25)
def execute(self):
call(self.path)
def load_apps():
global paths
f=open("paths.txt","r")
data=f.readlines()
for i in range(len(data)):
paths.append(data[i].split("$$"))
app=QtGui.QApplication(sys.argv)
app.setStyle("plastique")
try:
load_apps()
except:
print("error")
GUI=window() #Here I create the GUI
GUI.setStyleSheet("QPushButton {text-align:center;outline:0;margin-top:10,}")
sys.exit(app.exec_())
print(window)
atauprint(GUI)
- person eyllanesc   schedule 25.08.2018buttons(self.data)
menjadibuttons(self.data, self)
, ubahclass buttons(): def __init__(self, data):
menjadiclass buttons(): def __init__(self, data, parent):
, ubahself.button = QtGui.QPushButton(self.icon,self.text, parent)
menjadiself.button = QtGui.QPushButton(self.icon,self.text)
- person eyllanesc   schedule 25.08.2018