Interfaz de Usuario se queda congelada en While y label no actualiza (PyQt5)

Antes que nada quiero dejar claro que soy muy muy nuevo en Python y Qt.

Estoy creando una interfaz gráfica mediante PyQt5 en Python 3 para un programa que toma los valores de un sonómetro y los guarda en un Excel. Mi problema viene porque quiero mostrar algunos valores en los labels de forma constante, es decir, que se actualicen cada segundo al ritmo que el sonómetro toma los valores, pero al entrar en el bucle While True el cual lee constantemente los valores del aparato, la interfaz se queda congelada, de modo que no llega a salir nada por los labels.

Necesito ayuda, llevo días dándole vueltas y he intentado hacerlo de mil maneras diferentes pero no avanzo nada. Sé que la solución seguramente se encuentra en el uso de Threads pero no consigo entender su funcionamiento al 100% y no sé cómo implementarlo en mi código. Mi propósito es que el proceso de leer datos se ejecute al darle a un botón pero que puedas pararlo dándole a otro. Adjunto el código en cuestión.

while True:                y = time.strftime("%X")        d = datetime.now()      "{:%Y-%m-%d %H:%M:%S}".format(d)       linea = str(sc101.readline()) #Lee linea a linea los datos recibidos del sonòmetre y los guarda en la variable  linea         LC1=linea[14:17]+'.'+linea[17]      # introduce el valor LC1      LA1=linea[19:22]+'.'+linea[22]      # introduce el valor LA1      LCt=linea[24:27]+'.'+linea[27]      # introduce el valor LCt      LAt=linea[29:32]+'.'+linea[32]      # introduce el valor LAt      LAF=linea[34:37]+'.'+linea[37]      # introduce el valor LAF      LAFmin=linea[39:42]+'.'+linea[42]   # introduce el valor LAFmin      LAFmax=linea[44:47]+'.'+linea[47]   # introduce el valor LAFmax      LAS=linea[49:52]+'.'+linea[52]      # introduce el valor LAS      LASmin=linea[54:57]+'.'+linea[57]   # introduce el valor LSmin      LASmax=linea[59:62]+'.'+linea[62]   # introduce el valor LSmax      LCpeak=linea[64:67]+'.'+linea[67]   # introduce el valor LCpeak      LCF=linea[69:72]+'.'+linea[72]      # introduce el valor LCF      LCFmin=linea[74:77]+'.'+linea[77]   # introduce el valor LCFmin      LCFmax=linea[79:82]+'.'+linea[82]   # introduce el valor LCFmax          self.LAm_7.setText("="+LC1)       #AQUÍ IMPRIMIRÍA EL VALOR EN EL LABEL 

Si queréis ver más parte del código voy subiendo más, ya que me he dejado la gran mayoría.

¡¡MUCHAS GRACIAS!!

Como puedo hacer un update de mi usuario con mi Api de Construida en laravel

estoy construyendo una api para luego integrarla a ionic.. Hasta ahora lo que hice fue la parte de autenticacion y perfil de usuario que funciona bien.. ahora lo que quiero hacer es poder actualizar mi usuario pero no se porque razon en mi request no recibo nada… estoy haciendo mis pruebas con postman mi metodo update

public function update(Request $  request)     {         $  user = User::find(Auth::user()->id);         $  user->name = $  request->get('name');         $  user->email = $  request->get('email');         $  user->password = bcrypt($  request->get('password');         $  user->save();         return response()->json(compact('user'), 200);     } 

esto me da un error ya que me dice que name no puede ser nulo, entonces lo que hice fue comentar mi codigo y returnar mi request asi return response()->json(compact('request'), 200); y el resultado que arrojo fue esto

{ "request": {     "attributes": {},     "request": {},     "query": {},     "server": {},     "files": {},     "cookies": {},     "headers": {} } 

}

que como veran esta completamente vacio. mi postman

¿Cómo cambiar el valor de cierto número de variables dependiendo de la respuesta del usuario?

Estoy creando un conversor de peso en modo consola bastante sencillo. Lo que quiero hacer es que cuando el usuario proporcione el primer tipo de magnitud, el valor de las variables cambie en base a esa respuesta. Por ejemplo, si yo escribo “libra”, entonces las demás variables de equivalencia cambien su valor para proceder a la conversión. Intenté con la instrucción if, lo cual funciona muy bien a la hora de cambiar el valor de las variables. El problema nace cuando pide la segunda magnitud y debe proceder a la conversión, ya que la única forma que se me ocurrió de que el programa supiera a qué magnitud deseaba convertir era usando input, y luego de eso crear más condicionales if para que pudiera elegir el valor de conversión.

Lo he probado y funciona muy bien, el problema es que pienso añadir más magnitudes, lo cual implicaría una instrucción if por cada cada tipo de conversión posible. Lo cual a mi parecer, hace que el código sea innecesariamente más largo de lo que debería. Mi pregunta es ¿Hay alguna forma de automatizarlo y simplificarlo para que el programa cambie los valores de las variables y sepa cuál equivalencia de conversión el usuario va a usar?

Mi código es este:

    print("Conversor de peso")     print("----------------------------------------------")      while True:         Magnitud1 = str         Magnitud2 = str         Cantidad = str         print("¿Qué desea hacer? Convertir | Salir: ")         ask = input()         if ask == "salir" or ask == "Salir":             break          if ask == "convertir" or ask == "Convertir":             kilogramo = float             gramo = float             Convalue = float             resultado = float              Q1 = input("¿Qué magnitud desea convertir? ")             if Q1 == "libra":                 kilogramo = 0.45                 gramo = 453.59              Q2 = input("¿A qué magnitud desea convertirlo? ")              Q3 = input("¿Cuántas unidades? ")             Cantidad = float(Q3)              if Q2 == "kilogramo":                 Convalue = kilogramo                 resultado = Cantidad * Convalue              if Q2 == "gramo":                 Convalue = gramo                 resultado = Cantidad * Convalue              print("El resultado es: " and resultado)             print() 

Tela de perfil para um usuario

Estou tentando fazer uma tela de perfil para um sistema de atendimento de consulta a distancia e gostaria de ajuda de fazer uma tela com uma barra onde a foto do cliente sera exibida e também nome,sobrenome

a exibição da foto e dos outros dados irão ocorrer através do php mas o design seria em html agradeço quem puder fazer um sugestão ou ajudar 🙂

Como tomar la id del usuario logueado para llevarlo a una nueva tabla

Tengo 3 tablas mysql: “users”, “torneos”, e “inscritos”, “inscritos” solo posee 2 foreign key (idUser e idTorneo) y una tabla html que me muestra el listado de “torneos”

Lo que busco es que el usuario se pueda registrar en un torneo presionando un botón dentro de la tabla html (tomar la id del usuario logueado JUNTO con la id del torneo seleccionado y llevar ambos valores a la tabla “inscritos” (la cual utilizo para checkear cupos).

El botón dentro de mi tabla es el siguiente (torneos.php):

<td>     <form method="post" action="torneos.php">         <input type="text" name="idTorneo" value="<?php echo $  row['idTorneo']; ?>">         <input type="text" name="idUser" value="<?php echo $  row['idUser']; ?>">         <button class="inscribirse" type="submit" name="inscribir"></button>     </form> </td> 

Los inputs estan visibles para que yo pueda comprobar que se están tomando ambos ID (user y torneo) pero solo arroja el id del torneo mientras que en el id de usuario me dice que la variable no esta definida en la línea <?php echo $ row['idUser']; ?>

La función que quiero que se ejecute al presionar el botón es:

session_start(); $  db = mysqli_connect('localhost', 'root', '', 'wwr_users'); $  idUser = 0; $  username = ""; $  email    = ""; $  errors   = array();  if (isset($  _POST['inscribir'])) {     $  idTorneo = $  _POST['idTorneo'];     $  idUser = $  _POST['idUser'];     mysqli_query($  db, "INSERT INTO `inscritos`(`idTorneo`, `idUser`) VALUES ('$  idTorneo', '$  idUser')");     header('location: torneos.php'); } 

La query funciona de maravilla insertándose manualmente en phpmyadmin, el resto de la funcionalidad no lo sé debido a que no pasa nada al apretar el botón por falta de la idUser.

Cualquier ayuda es bienvenida, gracias.

Filtrando o select do usuario logado

Galera boa noite teria como simular esse select para departamentos?apanhando um pouco aqui, vai fazer uma grande diferença se alguém simular isso pra mim….

departamentos/models.py

class Departamento(models.Model):     nome = models.CharField(max_length=100)     descricao = models.CharField(max_length=200)     empresa = models.ForeignKey(Empresa, on_delete=models.PROTECT)      def __str__(self):         return self.nome 

funcionarios/forms.py

from django.forms import ModelForm from apps.funcionarios.models import Funcionario   class DepartamentoForm(ModelForm):     def __init__(self, user, *args, **kwargs):         super(DepartamentoForm, self).__init__(*args, **kwargs)         self.fields['departamentos'].queryset = Funcionario.objects.filter(             empresa=user.departamentos.empresa         )      class Meta:         model = Funcionario         fields = [             'nome',             'user',             'departamentos',             'empresa',             'image',             'date_created'         ] 

funcionarios/views.py

from apps.funcionarios.forms import DepartamentoForm      class FuncionarioEdit(UpdateView):         model = Funcionario         form_class = DepartamentoForm          def get_form_kwargs(self):             kwargs = super(FuncionarioEdit, self).get_form_kwargs()             kwargs.update({'user': self.request.user.funcionario.empresa})             return kwargs 

Obter o usuário logado no Django Admin

Bom dia, pessoal.

Tenho uma aplicação pequena feita totalmente em Django Admin e estou precisando obter o usuário logado para fazer uma consulta específica de listagem de clientes cadastrados e e outros modelos por este usuário/empresa específico de modo a separar a aplicação por grupo de usuários.

Como é que posso fazer isso com o Django Admin? Porque pelo que li por aí o request e o instance só funcionam nas views e como estou usando apenas o Django Admin como CRUD não utilizo views.

Tentei colocar o request dentro do models.Manager e recebo uma exceção:

class ClienteManager(models.Manager): def get_queryset(self, request):     return super(ClienteManager, self).get_queryset().filter(cliente=True).filter(escritorio=request.user.username)  TypeError at /admin/cadastro/cliente/ get_queryset() missing 1 required positional argument: 'request' 

ImportError: cannot import name ‘Usuario’ from ‘usuarios.models

Tenho esses modelos onde o condomínio pode ter vários apartamentos e um apartamento pode ter vários proprietários, cada condomínio tem um síndico, subsindico e um gerente. Estou adicionando sindico, subsindico e gerente na classe condomínio, entretanto, ao executar o makemigrations, eu tenho o seguinte erro:

from usuarios.models import Usuario ImportError: cannot import name 'Usuario' from 'usuarios.models 

Classes Condomínio e Apartamento

from django.db import models from endereco.models import Endereco from usuarios.models import Usuario  class Condominio(models.Model):    nome = models.CharField(max_length=255, null=False, blank=False)    endereco = models.ForeignKey(Endereco, on_delete=models.CASCADE)    sindico = models.ForeignKey(Usuario, on_delete=models.CASCADE)    subsindico = models.ForeignKey(Usuario, on_delete=models.CASCADE)    gerente = models.ForeignKey(Usuario, on_delete=models.CASCADE)      class Meta:        db_table = 'condominio'        verbose_name = 'Condomínio'        verbose_name_plural = 'Condomínios'     def __str__(self):        return self.nome   class Apartamento(models.Model):    numero = models.CharField(max_length=8)    condominio = models.ForeignKey('Condominio', on_delete=models.CASCADE)     class Meta:        db_table = 'apartamento'        verbose_name = 'Apartamento'        verbose_name_plural = 'Apartamentos'     def __str__(self):        return self.numero 

Classes Usuário e PerfilUsuario

  class Usuario(AbstractBaseUser, PermissionsMixin):      nome = models.CharField(max_length=255, null=False, blank=False)      perfil_usuario = models.OneToOneField('PerfilUsuario', on_delete=models.CASCADE)       sexo = models.CharField(max_length=1, choices=SEXO)      data_nascimento = models.DateField(null=False, blank=False)      cpf = models.CharField(max_length=14, null=False, blank=False, unique=True)     email = models.EmailField(null=False, blank=False, unique=True)     telefone1 = models.CharField(max_length=12, null=False, blank=False)     telefone2 = models.CharField(max_length=12, null=False, blank=False)     apartamento = models.ForeignKey(Apartamento, on_delete=models.CASCADE)     proprietario = models.BooleanField(default=False)     is_active = models.BooleanField(default=True)     is_admin = models.BooleanField(default=False)     is_staff = models.BooleanField(default=False)      objects = CustomUserManager()      USERNAME_FIELD = 'email'     REQUIRED_FIELDS = ['nome']      class Meta:        db_table = 'usuario'        verbose_name = 'Usuário'        verbose_name_plural = 'Usuários'     @property    def get_primeiro_nome(self):        return self.nome.split(' ')[0]     def salvar(self, *args, **kwargs):        super(Usuario, self).save()     def __str__(self):        return self.nome   class PerfilUsuario(models.Model):     tipo_usuario = models.CharField(max_length=2, choices=TIPO_USUARIO, verbose_name='Tipo de Usuário')     desabilitado = models.BooleanField(default=False)      class Meta:         db_table = 'perfil_usuario'         verbose_name = 'Perfil do Usuário'     @property    def get_usuario(self):        return self._usuario.nome     def __str__(self):        return self.tipo_usuario  TIPO_USUARIO = [     ('S', 'Síndico'),     ('SS', 'Subsíndico'),     ('G', 'Gerente'),     ('M', 'Morador'), ] 

Stacktrace completo

Link para o Stacktrace completo

Redireccionamiento por grupo de usuario Django 2.x

Estoy intentando redireccionar usuarios según el grupo al que pertenezcan y no logro concretarlo.

me aparece el siguiente error: error

dejo código actual de los diferentes archivos.

Fichero urls.py

from django.shortcuts import render, redirect  from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.decorators import login_required  # Create your views here. @login_required if request.is_authenticated:     if  request.User.groups.name == "Doctores":         def homeDoctor(request):             return render(request,'home_doctor.html')     elif User.groups == "Auxiliar":         def homeAuxiliar(request):             return render(request,'home_auxiliar.html') 

rutas fichero settings.py:

#Redireccionamiento en caso de contraseña correcta y tipo de usuario LOGIN_REDIRECT_URL = '/accounts/home_doctor/'   #Redireccionamiento cuando se cierra la sesión LOGOUT_REDIRECT_URL = 'home' 

código del fichero fichero urls.py:

from django.urls import path from . import views from django.contrib.auth.views import LoginView,LogoutView  urlpatterns = [     path('home_doctor/', views.homeDoctor, name="home_doctor"),     path('home_auxiliar/',views.homeAuxiliar, name="home_auxiliar"),     path('login/',LoginView.as_view() , name="login"),     path('logout/',LogoutView.as_view(), name="logout"), ] 

y por último el código del fichero urls.py el cual pertenece al proyecto:

from django.contrib import admin from django.urls import path, include    urlpatterns = [     #Incluimos las urls de la app core     path('', include('core.urls')),     path('admin/', admin.site.urls),     #Paths de Auth     path('accounts/', include('registration.urls')),     #Paths de Auxiliares     path('auxiliar/',include('auxiliar.urls')),     #Paths de Doctor     path('doctor/',include('pacientes.urls')), ] 

Lo que busco, es que al ingresar el usuario y contraseña en el login, pueda redireccionar a una de las páginas que tengo dentro de la función dependiendo del grupo al que pertenezca el usuario.

quedo atento a sus comentarios.