Ir para conteúdo
Fórum Script Brasil
  • 0

Preciso de uma ajuda!


DarthL

Pergunta

eu preciso de umas ajudas :unsure:

1º como eu faço pra saber se um numero é float ou integer ?

por exemplo, eu crio uma calculadora onde o resultado exibido pode ser inteiro ou não, os resultados poderiam ser 3.0, 17.0, 8.5, 24.1

nesse caso todos os numeros são floats mas eu teria de verificar se o numero é um inteiro como o 3.0 que seria exibido simplesmente 3

todos sendo floats como eu verifico se ele é inteiro ou não ?

2º eu quero saber se é possivel exibir uma mensagem no system tray usando o wxPython

mais ou menos assim ↓

traysystem.th.png

3º ainda no wxPython, como que faz para que, ao abrir uma outra janela, a anterior fique bloqueada, igual aqueles avisos do windows onde você não pode acessar a janela enquanto não fechar esse aviso, mas eu quero fazer de forma manual tipo dar um disable na janela ou algo do tipo... deu pra entender ?

não só essas minhas duvidas (por enquanto) :lol:

Editado por DarthL
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Olá novamente!

Seguinte... Na sua 1° dúvida, você pode utilizar o seguinte script que desenvolvi:

numero = 10.0 #Seu numero aqui. Faca testes colocando 10.0; 20.12; 3.0

#Exibe se: Inteiro(int) ou Quebrado(float)
print type(numero)
print "======================="

#Funcao para exibir sem a parte decimal dos inteiros
def resultado_final(x):
    x = str(x)
    lista = x.split('.') #Separa a parte dos inteiros dos decimais, gerando uma lista

    if lista[1] == "0": #Se a parte dos decimais for igual ao 0
        numero = lista[0] #Usa apenas a parte dos inteiros
        numero = int(numero)
    else: #Senao
        numero = x #não altera ele

    return numero

print resultado_final(numero) #Mostra como fica o resultado da funcao

Vou ser sincero contigo, não mexo com o wxPython, eu mecho mais com o SharpDevelop (criação de aplicativos em .NET framework), na sua 2° e 3° duvidas eu sei como resolver no aplicativo que eu uso (como também em todos os aplicativos que usam de .NET framework, como o IronPython), mas darei uma pesquisada na net e testarei se os códigos usados no programa que uso funcionará no wxPython...

Link para o comentário
Compartilhar em outros sites

  • 0

Voltando a sua pergunta...

Resposta da 3a. pergunta:

Exemplo do dialogo que você irá exibir (dialog.py):

import wx

class MainDialog(wx.Dialog):
    def __init__(self, parent, id, title):
        wx.Dialog.__init__(self, parent, id, title, size=(100, 80))
        okButton = wx.Button(self, -1, 'Ok',pos = (10,10), size=(70, 30))
E exemplo do seu codigo principal, que você irá chamar o dialogo (main.py):
import wx
import dialog

class MainWindow(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, wx.ID_ANY, title = 'Janela Principal', size = (170, 150), style = wx.DEFAULT_FRAME_STYLE)
        self.Center()
        
        panel = wx.Panel(self)          
        button = wx.Button(panel, id = wx.ID_ADD, label = 'Dialogo', pos = (20, 20), size = (120, 60))
        
        wx.EVT_BUTTON(self, wx.ID_ADD, self.OnClick)
        self.Show()
        
    def OnClick(self, event):
        dial = dialog.MainDialog(None, -1, 'Meu dialogo')
        dial.ShowModal()
        dial.Destroy()
        
# Program Runner     
app = wx.PySimpleApp()
frame = MainWindow(None, -1, 'Teste de Dialogo')
app.MainLoop()

Espero ter ajudado...

Da uma estudada no codigo, pois n tive tempo de comentala...

Abços

Editado por Utech
Link para o comentário
Compartilhar em outros sites

  • 0

A resposta da 2° questao:

mport wx
import sys

class BalaoTray(wx.TaskBarIcon):

    def __init__(self, frame):
        wx.TaskBarIcon.__init__(self)
 #[...]
        def SetIconBar(self,iconConteudo):
        icon = self.IconBar.Get(iconConteudo)
        self.SetIcon(icon, "Seu\nTexto\nAqui")

Espero que entenda o código, só postei aqui como que se deve fazer o balao do system tray, peço novamente desculpas pois n tive tempo de comenta-las!

Abraços!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...