[python] zenity aansturing via windows geeft probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

Topicstarter
Beste Tweakers,

Recentelijk ben ik begonnen aan python, mooie script taal die lekker flexwiebel is. Middels zenity is het mogelijk om eenvoudig dialog boxes te tonen aan de gebruiker.

Wanneer ik de onderstaande code uitvoer gebeurd er 0,0. Plaats ik de regel van de zenity opdracht in cmd, wordt het dialog wel getoond :? Wanneer ik in windows path's kijk zie ik de verwijzing naar zenity/bin staan.

Python:
1
2
3
4
5
6
7
8
import os, subprocess
proc = subprocess.Popen('zenity --title "SetPrinter" --width 320 --height 280 --list --text "Herstel de standaard-printer in systeem \n (indien SOM kies voor Epson)\n" --radiolist --column "keuze" --column "Model printer" FALSE "printer-zwartwit" FALSE "printer-kleur"  TRUE "EPSON TM-T88V Receipt" FALSE "Dymo Label writer" FALSE PDF-writer', 
                            shell=True, 
                            stdout=subprocess.PIPE,
                            )
printerselect = proc.communicate()[0]
printerselect = printerselect.strip()
print printerselect


dump in cmd.exe
code:
1
zenity --title "SetPrinter" --width 320 --height 280 --list --text "Herstel de standaard-printer in systeem \n (indien SOM kies voor Epson)\n" --radiolist --column "keuze" --column "Model printer" FALSE "printer-zwartwit"


dat geeft het gewenste venster.

Begrijp niet waar ik de fout maak zodat het venster getoond kan worden. Iemand bereid mij hierbij te helpen?

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards


Acties:
  • 0 Henk 'm!

  • KompjoeFriek
  • Registratie: Maart 2001
  • Laatst online: 08-04 23:04

KompjoeFriek

Statsidioot

Volgens de documentatie moet je het commando en de parameters in een list stoppen:

Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
import os, subprocess

command = list()
command.append(zenity)
command.append('--title "SetPrinter" --width 320 --height 280 --list --text "Herstel de standaard-printer in systeem \n (indien SOM kies voor Epson)\n" --radiolist --column "keuze" --column "Model printer" FALSE "printer-zwartwit" FALSE "printer-kleur"  TRUE "EPSON TM-T88V Receipt" FALSE "Dymo Label writer" FALSE PDF-writer')

proc = subprocess.Popen(    command,
                            shell=True, 
                            stdout=subprocess.PIPE,
                            )
printerselect = proc.communicate()[0]
printerselect = printerselect.strip()
print printerselect
Wellicht moet je de parameters ook nog opsplitsen.

WhatPulse! - Rosetta@Home - Docking@Home