Este artigo é a parte 6 de 14 na série PyQt

O PyQt possui ainda outros diálogos pré-definidos, que ainda não foram apresentados. São eles: QFontDialog, QPageSetupDialog, QPrintDialog, QPrintPreviewDialog, QProgressDialog, QColorDialog e QDialogButtonBox.

Como pode ser visto, são muitos os diálogos e não pretendo detalha-los, pois seria muito tedioso. Mas para não deixá-los passar em vão, vou escrever algumas linhas para fazer uma apresentação, mesmo que superficial, de suas principais funções estáticas destas classes. Para mais informações, siga os links apresentados acima e leia sua documentação.

1. QFontDialog

O QFontDialog possui uma função estática que provem um diálogo para seleção de fontes. Sua sintaxe é apresentada abaixo:

QFontDialog.getFont (initial_font, parent, title, options)

onde:

  • initial_font – a fonte inicialmente selecionada. A fonte deve ser uma instância de QFont;
  • parent – a widget pai, como nos diálogos anteriores;
  • title – o título da jenela;
  • options – algumas opções para o diálogo.
>>> from PyQt4.QtGui import *                                         
>>> app = QApplication([])
>>>
>>> ft = QFontDialog.getFont(QFont("Chandas", 10), None, 'Escolha uma fonte')
>>> ft
(<pyqt4 .QtGui.QFont object at 0x7f5fa3907160>, True)

O retorno será uma tupla, com o elemento 0 com a QFont selecionada e o elemento 1 com True/False, dependendo do botão pressionado, Ok/Cancel.

2. QPageSetupDialog

A classe QPageSetupDialog fornece um diálogo para a configuração da página de impressão.

Sintaxe:

QPageSetupDialog(parent)

Apenas o diálogo pai é requerido. A linha abaixo apresenta o diálogo em operação.

>>> dl = QPageSetupDialog(None)
>>> dl.setWindowTitle('Seleção de Fonte')
>>> dl.exec_()
>>> dl.printer
<built-in method printer of QPageSetupDialog object at 0x7f5fa39070d8>

O método exec_() retorna 1 para Ok e 0 para Cancel. O retorno da configuração, não testei, é feito pelo atributo printer, na última linha do código acima.

3. QPrintDialog

A classe QPrintDialog provem um diálogo para especificar as configurações da impressora. Sua sintaxe pode ser uma das apresentadas a seguir:

QPrintDialog(QPrinter printer, QWidget parent = None)
QPrintDialog(QWidget parent = None)

printer é a impressora padrão passada como parâmetro. A linha abaixo mostra uma aplicação do diálogo.

 
>>> dl = QPrintDialog(None)
>>> dl.exec_()

Este diálogo invoca a classe anterior para configurar a página.

dialog-14

Em minha máquina não existia nenhuma impressora instalada e por isto, não aparece nada na lista de impressoras.

Notas do autor…

Este post esta parado a mais de dois meses e confesso que ainda não encontrei a coragem necessária para termina-lo.

O problema é que sempre que penso em escrever mais algo sobre o PyQt, me deparo com este texto inacabado e não consigo prosseguir.

Farei o seguinte: Por agora vou deixar este texto como estar e tentarei retornar a ele numa outra ocasião. Com isto pretendo prosseguir com outros conteúdos mais diretos.

Att.
Rudson R. Alves