2016-03-23 17 views
0

Umarız bu sizin için kolay bir soru olacaktır. Bu nedenle, bir ısıtıcı denetleyiciyle arabirim kurmak için bazı kodlarda çalışıyorum. GUI çoğunlukla Kivy dilinde yazılır (çeşitli ekranları bölümlere ayırmak için), fakat tüm Kivy dosyalarını birbirine bağlayan bir .py dosyasına sahibim. Bir Kivy dosyamda, bir kullanıcının birkaç sayısal değeri tanımlaması için birkaç TextInput alanı vardır. Metin alanları doldurulduktan sonra, kullanıcı ısıtıcı testine başlamak için "Başlat" düğmesine tıklar. Şimdi, sorum, "Başlat" düğmesini bayrağım olarak kullanırken, Python'un alanlardaki sayısal değerleri okumasını nasıl sağlayabilirim? Kullanmakla ilgili çevrimiçi ve yayınlara baktım. , ve raw_input yöntemlerini alır, ancak Python'un Kivy kodundan değerleri alması ve yorumlaması olan hiçbir şey yoktur. Herhangi bir yardım çok takdir edilecektir! Bu, tek kodunu içeren, Kivy dosyasından bir alıntı olduğunuKyty dosyasından Python 2.7'deki kullanıcı-giriş verilerinin okunması

class ControllerScreen(Screen): 

def build(self): 
    return ControllerScreen() 

def CreateExcelFile(self): 
     wb = Workbook() 
     ws = wb.active 
     ws.cell('A1').value = 'Timestamp' 
     ws.cell('B1').value = 'Temperature' 
     ws.cell('C1').value = 'Batch 1' 
     ws.cell(row=2, column=1).value = 000 
     wb.save("Spreadsheet1.xlsx") 

Bu benim kullanıcı giriş değerleri değerlendirilmesi gereken hangi benim .py dosyası, pf parçasıdır ... bir kullanıcı bir numara ...

<ControllerScreen>: 
    TextInput:         #Ramp time increment field 
     id: ramp_time 
     font_size: 25 
     size_hint: 0.1,0.06 
     pos_hint: {"right":0.575, 'y':0.67} 

    Button:        #Start analysis button 
     on_release: app.root.current = "home" 
     text: "Start" 
     font_size: 25 
     color: 0,1,0.5,1 
     size_hint: 0.29,0.075 
     pos_hint: {'x':0.35, 'y':0.1} 

Ve son olarak, burada GUI bir resmi ben (bir kırmızı çember ile ilgili am metin alanlarına bazı referans vermektir metin alanı tek I Yukarıdaki kodda referans ...)

Eğer bir sayı elde etmek nedenle textInput mülkü text kullanmak zorunda TextInput erişim değeri için

GUI Interface

cevap

0

yapmanız gerekir:

n = int(self.ids.ramp_time.text) #or float or whatever you need 

Eğer ControllerScreen yılında text erişmez Ancak, o zaman sınıflarınız arasındaki bir iletişimi yönetmeniz gerekir, böylece aralarındaki değişkenleri kullanabilirsiniz. Bunu şu cevaplarla elde edebilirsiniz: 1, 2. Kullanıcı çevrimiçi baktım (örn girişler mektup/s)

bir şeyi berbat olmaz böylece girişi için filtering ayarlamak için bir seçenek var

ve .get kullanmayla ilgili mesajlar ve raw_input yöntemleri, fakat Python'un Kivy kodundan değerleri alıp yorumlayan hiçbir şeye sahip değildir.

Sorun şu ki, kullanıcının girişini doğrudan Kivy'den değil, python'dan almak için aradığınızdır. Kivy'nin oldukça yeni olduğunu söyleyebilirim, bu yüzden eski derslerde/web sitelerinde söz edilmeyecek. Resmi web sitesinde veya youtube'da doğrudan kivy için eğitici ve dokümanlar bulunmaktadır.

İlgili konular