Hei
Kysymys PyQT ohjelman sammutuksesta.
Esimerkkikoodi toimii melkein halutulla tavalla. IDE:stä (Eric5) ajettuna ohjelma käynnistyy ja sammuu kymmenen sekunnin kuluttua, jos sitä ennen ei paineta sammutusnappulaa. Painettaessa nappulaa ohjelma sammuu heti.
Windows Task Managerin välilehdellä Applications näkyy ohjelman käynnistyminen ja sammuminen. Välilehdellä Processes niitä ei näy.
Kun ohjelmasta tekee ajettavan “paketin” CXfreeze ohjelmalla
cxfreeze sammutus.pyw --base-name=Win32GUI --target-dir paketti
(HUOM --base-name=Win32GUI siis ei dos ikkunaa)
Task Managerin Application välilehdellä näkyy ohjelman käynnistyminen ja sammuminen. Sen lisäksi Processes välilehdellä näkyy ohjelman käynnistyminen, mutta prosessi ei sammu, kun ohjelma sammuu Application puolella. Zombi prosessi?
Käynnistettäessä ohjelma uudelleen syntyy toinen prosessi.
Siis miten koodia on korjattava, jotta sen prosessi sammuu viimeistään wait ajan loputtua.
(Kysymys liittyy aikaisempaan kysymykseen PyQT ja ikkunan näkyminen)
[code]from PyQt4 import QtGui
from PyQt4.QtGui import *
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4.QtTest import QTest
import sys
En saanut koodia toimimaan halutulla tavalla ojeistasi huolimatta.
Edelleen Task Manageriin jää Process ikkunaan sammutus.exe näkyviin, vaikka ohjelma sammuu ja häviää Task MAnagerin Applications välilehdeltä.
Uudelleen käynnistettäessä sammutus.exe ilmestyy prosesseihin toinen sammutus.exe.
Noi ajettavat exe:t tehdään siis cxfreeze ohjelmalla.
Jätin self.close rivit pois
Nyt ohjelma ei sammu automaattisesti 10s kuluttua
Nappulaa painettaessa IDE:n ikkunaan ilmestyy virheilmoitus QCoreApplication::exec: The event loop is already running
self.closen ja sys.exit(root.exec_()) lisääminen nappula ja koeFunktioon tuntui järkevältä vaihtoehdolta. Olisikohan ongelma cxfreeze ohjelmassa, joka tekee tulkattavasta pythonista ajettavan exe:n
En ihan tajunnut mitä tarkoitat, mutta kerrotaan että IDE:ssä ajettaessa (Eric5) Task Manager Aplication välilehdellä näkyy ohjelman käynnistyminen ja sammuminen .Process välilehdelle se ei ilmesty.
[quote=toimiiko se oikein vai käykö vastaavasti että se jää taustalle pyörimään (tai mikä nyt onkaan ongelma).[/quote]
DOS ikkunasta ajettuna käskyllä python koodi.pyw ohjelma käynnistyy ja sammuu. Itse DOS ikkunaan ei tule ohjelman sammuttua promptia tms. Task Managerin Prosessit välilehdellä ei näy koodi.pyw käynnistyminen ja sammuminen.