Re: [PyQt] PyQt4.Gui.QFileDialog

2011-11-01 Thread Andreas Pakulat
On 01.11.11 12:27:45, Janwillem van Dijk wrote:
> I am sorry to say that this does not help either. On linux the
> dialog shows until the sleep finishes on windows it exits as soon as
> the button is clicked as expected.
> For the time being I changed to traits. Bit heavy weight perhaps but
> give the opportunity to have a few other parameters conveniently
> adjusted too.

Your original example works fine here on Debian Linux, Python 2.6, PyQt
4.8.3 and Qt 4.7.3 and using the KDE file-dialog.

Does this also happen when you create a Qt file dialog, i.e. not use the
static function but instead create a dialog instance and call exec_ on
it:

# Ensure the pure-qt version is used
fdialog.setOptions(QFileDialog.Options(QFileDialog.DontUseNativeDialog))
fdialog.exec_()
#filenames = fdialog.getOpenFileNames(directory=default_dir)
filenames = fdialog.selectedFiles()

If this does not exhibit the problem, then the problem is most certainly
in the platform-plugin used in your case. Since you said you're using
Ubuntu thats most likely the GTK plugin for Qt.

If the behaviour still exists with that change the problem is likely in
PyQt or Qt itself, but already fixed in a later version of one of the
two.

BTW: You don't need the fdialog variable at all, you can simply do
QFileDialog.getOpenFileNames(...) when you want the native dialog.

Andreas

___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] PyQt4.Gui.QFileDialog

2011-11-01 Thread Hans-Peter Jansen
On Monday 31 October 2011, 08:07:00 Janwillem wrote:
> I want a small script with just a few filedialogs not a full blown
> gui application . However when I try the code below the dialog does
> not disappear after clicking the Open button on the dialog  but stays
> on top until the script exits. What am I doing wrong??
> Thanks, Janwillem
>
> def open_files(default_dir=None):
> """Returns list of filenames optionally given a default dir"""
> from sys import argv
> from os import environ
> from PyQt4.QtGui import QApplication, QFileDialog,QWidget
> if default_dir == None:
> default_dir = environ['HOME']
> app = QApplication(argv)
> fdialog = QFileDialog
> filenames = fdialog.getOpenFileNames(directory=default_dir)
> app.exit()
> return list(filenames)
>
> if __name__ == '__main__':
> from PyQt4.QtCore import QT_VERSION_STR
> from platform import python_version
> print('Python %s' % (python_version()))
> print('PyQt4 %s' %QT_VERSION_STR)
> print('open dialog')
> lst = open_files()
> print('dialog finished')
> for fname in lst:
> print(fname)
> import time
> time.sleep(2)
> print 'finished'

Without taking a deeper look, you might want to try instancing/exiting 
QApplication just once per process.

Also time.sleep is a (non pyqtonic) blocking function. Use a 
QTimer.singleShot for this purpose, which would allow you to let the 
event loop run in the meantime.

Pete
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] PyQt4.Gui.QFileDialog

2011-11-01 Thread Janwillem van Dijk
I am sorry to say that this does not help either. On linux the dialog 
shows until the sleep finishes on windows it exits as soon as the button 
is clicked as expected.
For the time being I changed to traits. Bit heavy weight perhaps but 
give the opportunity to have a few other parameters conveniently 
adjusted too.

Thanks again, Janwillem


On 10/31/2011 10:19 AM, Vincent Vande Vyvre wrote:

Le 31/10/11 10:07, Vincent Vande Vyvre a écrit :

Le 31/10/11 09:32, Matteo Boscolo a écrit :

Try this after instantiate the application:
app.setQuitOnLastWindowClosed(False)

and this after closing the dialog:
app.closeAllWindows()

I use this in some case in my com application .. hope it helps

Regards,
Matteo



Il 31/10/2011 09:08, Janwillem ha scritto:
Thanks, yes I see, that is under windows (XP on VirtualBox, python 
2.7.1 and
pyqt4 4.7.2 in my case) but under linux (ubuntu 11.10, python 
2.7.2+ and
pyqt 4.7.3) it only closes after the sleep has finished (or in case 
of my

practical application, until the data processing finished)
So any tips from a ubuntu user???
cheers, Janwillem


Matteo Boscolo wrote:

with this configuration
Python 2.6.6
PyQt4 4.7.3
open dialog
dialog finished
C:\Users\mboscolo\Documents\.bzr.log
finished

it works perfectly .. after press the opendialog the form is 
closed and

start to print the rest of the debug

regards,
Matteo

Il 31/10/2011 08:07, Janwillem ha scritto:
I want a small script with just a few filedialogs not a full 
blown gui

application . However when I try the code below the dialog does not
disappear after clicking the Open button on the dialog  but stays 
on top

until the script exits. What am I doing wrong??
Thanks, Janwillem

def open_files(default_dir=None):
  """Returns list of filenames optionally given a default dir"""
  from sys import argv
  from os import environ
  from PyQt4.QtGui import QApplication, QFileDialog,QWidget
  if default_dir == None:
  default_dir = environ['HOME']
  app = QApplication(argv)
  fdialog = QFileDialog
  filenames = fdialog.getOpenFileNames(directory=default_dir)
  app.exit()
  return list(filenames)

if __name__ == '__main__':
  from PyQt4.QtCore import QT_VERSION_STR
  from platform import python_version
  print('Python %s' % (python_version()))
  print('PyQt4 %s' %QT_VERSION_STR)
  print('open dialog')
  lst = open_files()
  print('dialog finished')
  for fname in lst:
  print(fname)
  import time
  time.sleep(2)
  print 'finished'


___
PyQt mailing list PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt




___
PyQt mailing list PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


No problem for me on Ubuntu 10.04

vincent@tiemoko:~/Bureau$ python test.py
Python 2.6.5
PyQt4 4.6.2
open dialog
dialog finished
/home/vincent/Documents/gabarit_cd.svg
finished
vincent@tiemoko:~/Bureau$

--
Vincent V.V.
Oqapy  . Qarte+7 
 . PaQager 



___
PyQt mailing listp...@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Works as expected too on 11.10

vincent@bacoudian:~/Bureau$ python test.py
Python 2.7.2+
PyQt4 4.7.3
open dialog
dialog finished
/home/vincent/examples.desktop
finished
vincent@bacoudian:~/Bureau$

--
Vincent V.V.
Oqapy  . Qarte+7 
 . PaQager 



___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Re: [PyQt] PyQt4.Gui.QFileDialog

2011-10-31 Thread Vincent Vande Vyvre


  
  
Le 31/10/11 10:07, Vincent Vande Vyvre a écrit :

  
  
  Le 31/10/11 09:32, Matteo Boscolo a écrit :
  Try

this after instantiate the application: 
app.setQuitOnLastWindowClosed(False) 

and this after closing the dialog: 
app.closeAllWindows() 

I use this in some case in my com application .. hope it helps 

Regards, 
Matteo 



Il 31/10/2011 09:08, Janwillem ha scritto: 
Thanks, yes I see, that is under windows
  (XP on VirtualBox, python 2.7.1 and 
  pyqt4 4.7.2 in my case) but under linux (ubuntu 11.10, python
  2.7.2+ and 
  pyqt 4.7.3) it only closes after the sleep has finished (or in
  case of my 
  practical application, until the data processing finished) 
  So any tips from a ubuntu user??? 
  cheers, Janwillem 
  
  
  Matteo Boscolo wrote: 
  with this configuration 
Python 2.6.6 
PyQt4 4.7.3 
open dialog 
dialog finished 
C:\Users\mboscolo\Documents\.bzr.log 
finished 

it works perfectly .. after press the opendialog the form is
closed and 
start to print the rest of the debug 

regards, 
Matteo 

Il 31/10/2011 08:07, Janwillem ha scritto: 
I want a small script with just a
  few filedialogs not a full blown gui 
  application . However when I try the code below the dialog
  does not 
  disappear after clicking the Open button on the dialog 
  but stays on top 
  until the script exits. What am I doing wrong?? 
  Thanks, Janwillem 
  
  def open_files(default_dir=None): 
    """Returns list of filenames optionally given a
  default dir""" 
    from sys import argv 
    from os import environ 
    from PyQt4.QtGui import QApplication,
  QFileDialog,QWidget 
    if default_dir == None: 
    default_dir = environ['HOME'] 
    app = QApplication(argv) 
    fdialog = QFileDialog 
    filenames =
  fdialog.getOpenFileNames(directory=default_dir) 
    app.exit() 
    return list(filenames) 
  
  if __name__ == '__main__': 
    from PyQt4.QtCore import QT_VERSION_STR 
    from platform import python_version 
    print('Python %s' % (python_version())) 
    print('PyQt4 %s' %QT_VERSION_STR) 
    print('open dialog') 
    lst = open_files() 
    print('dialog finished') 
    for fname in lst: 
    print(fname) 
    import time 
    time.sleep(2) 
    print 'finished' 
  

___ 
PyQt mailing list    PyQt@riverbankcomputing.com

http://www.riverbankcomputing.com/mailman/listinfo/pyqt



  


___ 
PyQt mailing list    PyQt@riverbankcomputing.com

http://www.riverbankcomputing.com/mailman/listinfo/pyqt


  
  No problem for me on Ubuntu 10.04
  
  vincent@tiemoko:~/Bureau$ python test.py 
  Python 2.6.5
  PyQt4 4.6.2
  open dialog
  dialog finished
  /home/vincent/Documents/gabarit_cd.svg
  finished
  vincent@tiemoko:~/Bureau$
  
  -- 
Vincent V.V.
Oqapy
. Qarte+7 . PaQager
  

___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Works as expected too on 11.10

vincent@bacoudian:~/Bureau$ python test.py 
Python 2.7.2+
PyQt4 4.7.3
open dialog
dialog finished
/home/vincent/examples.desktop
finished
vincent@bacoudian:~/Bureau$

-- 
  Vincent V.V.
  Oqapy . Qarte+7 . PaQager
  


___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Re: [PyQt] PyQt4.Gui.QFileDialog

2011-10-31 Thread Vincent Vande Vyvre


  
  
Le 31/10/11 09:32, Matteo Boscolo a écrit :
Try
  this after instantiate the application:
  
  app.setQuitOnLastWindowClosed(False)
  
  
  and this after closing the dialog:
  
  app.closeAllWindows()
  
  
  I use this in some case in my com application .. hope it helps
  
  
  Regards,
  
  Matteo
  
  
  
  
  Il 31/10/2011 09:08, Janwillem ha scritto:
  
  Thanks, yes I see, that is under windows
(XP on VirtualBox, python 2.7.1 and

pyqt4 4.7.2 in my case) but under linux (ubuntu 11.10, python
2.7.2+ and

pyqt 4.7.3) it only closes after the sleep has finished (or in
case of my

practical application, until the data processing finished)

So any tips from a ubuntu user???

cheers, Janwillem



Matteo Boscolo wrote:

with this configuration
  
  Python 2.6.6
  
  PyQt4 4.7.3
  
  open dialog
  
  dialog finished
  
  C:\Users\mboscolo\Documents\.bzr.log
  
  finished
  
  
  it works perfectly .. after press the opendialog the form is
  closed and
  
  start to print the rest of the debug
  
  
  regards,
  
  Matteo
  
  
  Il 31/10/2011 08:07, Janwillem ha scritto:
  
  I want a small script with just a few
filedialogs not a full blown gui

application . However when I try the code below the dialog
does not

disappear after clicking the Open button on the dialog  but
stays on top

until the script exits. What am I doing wrong??

Thanks, Janwillem


def open_files(default_dir=None):

  """Returns list of filenames optionally given a
default dir"""

  from sys import argv

  from os import environ

  from PyQt4.QtGui import QApplication,
QFileDialog,QWidget

  if default_dir == None:

  default_dir = environ['HOME']

  app = QApplication(argv)

  fdialog = QFileDialog

  filenames =
fdialog.getOpenFileNames(directory=default_dir)

  app.exit()

  return list(filenames)


if __name__ == '__main__':

  from PyQt4.QtCore import QT_VERSION_STR

  from platform import python_version

  print('Python %s' % (python_version()))

  print('PyQt4 %s' %QT_VERSION_STR)

  print('open dialog')

  lst = open_files()

  print('dialog finished')

  for fname in lst:

  print(fname)

  import time

  time.sleep(2)

  print 'finished'


  
  ___
  
  PyQt mailing list    PyQt@riverbankcomputing.com
  
  http://www.riverbankcomputing.com/mailman/listinfo/pyqt
  
  
  

  
  
  ___
  
  PyQt mailing list    PyQt@riverbankcomputing.com
  
  http://www.riverbankcomputing.com/mailman/listinfo/pyqt
  
  

No problem for me on Ubuntu 10.04

vincent@tiemoko:~/Bureau$ python test.py 
Python 2.6.5
PyQt4 4.6.2
open dialog
dialog finished
/home/vincent/Documents/gabarit_cd.svg
finished
vincent@tiemoko:~/Bureau$

-- 
  Vincent V.V.
  Oqapy . Qarte+7 . PaQager
  


___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Re: [PyQt] PyQt4.Gui.QFileDialog

2011-10-31 Thread Matteo Boscolo

Try this after instantiate the application:
app.setQuitOnLastWindowClosed(False)

and this after closing the dialog:
app.closeAllWindows()

I use this in some case in my com application .. hope it helps

Regards,
Matteo



Il 31/10/2011 09:08, Janwillem ha scritto:

Thanks, yes I see, that is under windows (XP on VirtualBox, python 2.7.1 and
pyqt4 4.7.2 in my case) but under linux (ubuntu 11.10, python 2.7.2+ and
pyqt 4.7.3) it only closes after the sleep has finished (or in case of my
practical application, until the data processing finished)
So any tips from a ubuntu user???
cheers, Janwillem


Matteo Boscolo wrote:

with this configuration
Python 2.6.6
PyQt4 4.7.3
open dialog
dialog finished
C:\Users\mboscolo\Documents\.bzr.log
finished

it works perfectly .. after press the opendialog the form is closed and
start to print the rest of the debug

regards,
Matteo

Il 31/10/2011 08:07, Janwillem ha scritto:

I want a small script with just a few filedialogs not a full blown gui
application . However when I try the code below the dialog does not
disappear after clicking the Open button on the dialog  but stays on top
until the script exits. What am I doing wrong??
Thanks, Janwillem

def open_files(default_dir=None):
  """Returns list of filenames optionally given a default dir"""
  from sys import argv
  from os import environ
  from PyQt4.QtGui import QApplication, QFileDialog,QWidget
  if default_dir == None:
  default_dir = environ['HOME']
  app = QApplication(argv)
  fdialog = QFileDialog
  filenames = fdialog.getOpenFileNames(directory=default_dir)
  app.exit()
  return list(filenames)

if __name__ == '__main__':
  from PyQt4.QtCore import QT_VERSION_STR
  from platform import python_version
  print('Python %s' % (python_version()))
  print('PyQt4 %s' %QT_VERSION_STR)
  print('open dialog')
  lst = open_files()
  print('dialog finished')
  for fname in lst:
  print(fname)
  import time
  time.sleep(2)
  print 'finished'


___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt




___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] PyQt4.Gui.QFileDialog

2011-10-31 Thread Janwillem

Thanks, yes I see, that is under windows (XP on VirtualBox, python 2.7.1 and
pyqt4 4.7.2 in my case) but under linux (ubuntu 11.10, python 2.7.2+ and
pyqt 4.7.3) it only closes after the sleep has finished (or in case of my
practical application, until the data processing finished)
So any tips from a ubuntu user???
cheers, Janwillem


Matteo Boscolo wrote:
> 
> with this configuration
> Python 2.6.6
> PyQt4 4.7.3
> open dialog
> dialog finished
> C:\Users\mboscolo\Documents\.bzr.log
> finished
> 
> it works perfectly .. after press the opendialog the form is closed and 
> start to print the rest of the debug
> 
> regards,
> Matteo
> 
> Il 31/10/2011 08:07, Janwillem ha scritto:
>> I want a small script with just a few filedialogs not a full blown gui
>> application . However when I try the code below the dialog does not
>> disappear after clicking the Open button on the dialog  but stays on top
>> until the script exits. What am I doing wrong??
>> Thanks, Janwillem
>>
>> def open_files(default_dir=None):
>>  """Returns list of filenames optionally given a default dir"""
>>  from sys import argv
>>  from os import environ
>>  from PyQt4.QtGui import QApplication, QFileDialog,QWidget
>>  if default_dir == None:
>>  default_dir = environ['HOME']
>>  app = QApplication(argv)
>>  fdialog = QFileDialog
>>  filenames = fdialog.getOpenFileNames(directory=default_dir)
>>  app.exit()
>>  return list(filenames)
>>
>> if __name__ == '__main__':
>>  from PyQt4.QtCore import QT_VERSION_STR
>>  from platform import python_version
>>  print('Python %s' % (python_version()))
>>  print('PyQt4 %s' %QT_VERSION_STR)
>>  print('open dialog')
>>  lst = open_files()
>>  print('dialog finished')
>>  for fname in lst:
>>  print(fname)
>>  import time
>>  time.sleep(2)
>>  print 'finished'
>>
> 
> ___
> PyQt mailing listPyQt@riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
> 
> 

-- 
View this message in context: 
http://old.nabble.com/PyQt4.Gui.QFileDialog-tp32748649p32750545.html
Sent from the PyQt mailing list archive at Nabble.com.

___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] PyQt4.Gui.QFileDialog

2011-10-31 Thread Matteo Boscolo

with this configuration
Python 2.6.6
PyQt4 4.7.3
open dialog
dialog finished
C:\Users\mboscolo\Documents\.bzr.log
finished

it works perfectly .. after press the opendialog the form is closed and 
start to print the rest of the debug


regards,
Matteo

Il 31/10/2011 08:07, Janwillem ha scritto:

I want a small script with just a few filedialogs not a full blown gui
application . However when I try the code below the dialog does not
disappear after clicking the Open button on the dialog  but stays on top
until the script exits. What am I doing wrong??
Thanks, Janwillem

def open_files(default_dir=None):
 """Returns list of filenames optionally given a default dir"""
 from sys import argv
 from os import environ
 from PyQt4.QtGui import QApplication, QFileDialog,QWidget
 if default_dir == None:
 default_dir = environ['HOME']
 app = QApplication(argv)
 fdialog = QFileDialog
 filenames = fdialog.getOpenFileNames(directory=default_dir)
 app.exit()
 return list(filenames)

if __name__ == '__main__':
 from PyQt4.QtCore import QT_VERSION_STR
 from platform import python_version
 print('Python %s' % (python_version()))
 print('PyQt4 %s' %QT_VERSION_STR)
 print('open dialog')
 lst = open_files()
 print('dialog finished')
 for fname in lst:
 print(fname)
 import time
 time.sleep(2)
 print 'finished'



___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] PyQt4.Gui.QFileDialog

2011-10-31 Thread Janwillem

I want a small script with just a few filedialogs not a full blown gui
application . However when I try the code below the dialog does not
disappear after clicking the Open button on the dialog  but stays on top
until the script exits. What am I doing wrong??
Thanks, Janwillem

def open_files(default_dir=None):
"""Returns list of filenames optionally given a default dir"""
from sys import argv
from os import environ
from PyQt4.QtGui import QApplication, QFileDialog,QWidget
if default_dir == None:
default_dir = environ['HOME']
app = QApplication(argv)
fdialog = QFileDialog
filenames = fdialog.getOpenFileNames(directory=default_dir)
app.exit()
return list(filenames)

if __name__ == '__main__':
from PyQt4.QtCore import QT_VERSION_STR
from platform import python_version
print('Python %s' % (python_version()))
print('PyQt4 %s' %QT_VERSION_STR)
print('open dialog')
lst = open_files()
print('dialog finished')
for fname in lst:
print(fname)
import time
time.sleep(2)
print 'finished'

-- 
View this message in context: 
http://old.nabble.com/PyQt4.Gui.QFileDialog-tp32748649p32748649.html
Sent from the PyQt mailing list archive at Nabble.com.

___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt