gui design – For a list of 10+ cards, Should I use a CTA button on each card for a better conversion rate?

Should I use a CTA button on each card for a shortcut knowing that I have cards feed layout pagination for more than 10 cards?

For example if I have a projects feed inside a freelancing app here’re the a/b variants:
First variant without CTA, and user should go inside project to submit a proposal

First variant without CTA, and user should go inside project to submit a proposal

Second variant with CTA, user can go to submit a proposal page from the card directly

Second variant with CTA

What do you think? including the CTA may reduce the visual clearance of the UI?

gui design – What title could differentiate an “Inventory” page (containing items on-hand) from an “Ingredients” page (containing a full list of existing items)?

I’m making a recipe app with an inventory.

When making a recipe, the user can add ingredients from an included list of available ingredient. If the users cannot find an ingredient, he can add a custom one in the “Ingredients” page. That page has a list of all custom ingredients and all included ingredients. The user cannot delete the included ingredients, and deleting custom ingredient isn’t encouraged, because it would break the recipes that use those ingredients

The user can also specify the quantity of each ingredient he has on hand using the “Inventory” Page. The inventory is independent from the recipe and the ingredient page. Since the inventory page only contains information related to the actual inventory (perishable dates, quantities…), the user can freely modify the information and delete items.

I’m looking for a way to make it clear to the user the difference between the Inventory and the Ingredients page. Currently, I find that the word “Ingredients” is misleading, since you might think that it’s related to the ingredients you currently own.

How can I clearly differentiate those 2 pages? Thank you.

gui – Direct2d fill rect works wrong

I use direct2d in order to make an editor. But i have a problem. When i use the funtion fill rect for drawing a button i pass the rect(x:100, y:100, width:400, height:400), but direct2d draws the rect less than i specified on a couple of pixel and when i check collision between the mouse and a button i get wrong behavior where the mouse intersected the button and the button change a color but pixels are not filled in that place.Blue is default color
for the button and red is hover color. On the first image the cursore doesn’t intersect the button and color doesn’t change. On the second image the cursore intersects the button and color changes but the rest of area isn’t filled.

gui design – What should be the vertical placement of primary button on a mobile screen? And why?

enter image description hereA user scans the screen from left to right and top to bottom.
So, we use the primary action (or primary CTA) on the right side while designing for the web.
If we consider top to bottom scan approach in mobile, then why do we use the primary action above the secondary action while designing for mobile?

How Computer backend works when we play with GUI or CLI

I’ve a question how do computer works in backend when we do anything on CLI or GUI ( i.e. making folders, running exe files, copy/paste etc), I mean how processor and ram works and how do they play with low-level language to show our desired result?

gui – How to get text width in pixels in direct2d

I am making the simple editor on direct2d and i want to make adaptive buttons size. When i create a button i pass text to it and a button gets width based on text width in pixels. I have tried to use IDWriteTextLayout and the method GetMetrics but i get the weird result where height more than width.

D2D1_SIZE_F Direct2D::get_text_size(const char *text)
{
    IDWriteTextLayout *text_layout = NULL;
    DWRITE_TEXT_METRICS text_metrics;

    wchar_t *wtext = char_string_wchar(text);
    HR(write_factor->CreateTextLayout(wtext, wcslen(wtext), text_format, 0.0f, 0.0f, &text_layout));
    
    text_layout->GetMetrics(&text_metrics);
    
    DELETE_ARRAY(wtext);
    RELEASE_COM(text_layout);

    D2D1_SIZE_F size;
    size.width = text_metrics.widthIncludingTrailingWhitespace;
    size.height = text_metrics.height;
    return size;
}
```

gui – How to get text width in pixels in direct2d

I am making the simple editor on direct2d and i want to make adaptive buttons size. When i create a button i pass text to it and a button gets width based on text width in pixels. I have tried to use IDWriteTextLayout and the method GetMetrics but i get the weird result where height more than width.

D2D1_SIZE_F Direct2D::get_text_size(const char *text)
{
    IDWriteTextLayout *text_layout = NULL;
    DWRITE_TEXT_METRICS text_metrics;

    wchar_t *wtext = char_string_wchar(text);
    HR(write_factor->CreateTextLayout(wtext, wcslen(wtext), text_format, 0.0f, 0.0f, &text_layout));
    
    text_layout->GetMetrics(&text_metrics);
    
    DELETE_ARRAY(wtext);
    RELEASE_COM(text_layout);

    D2D1_SIZE_F size;
    size.width = text_metrics.widthIncludingTrailingWhitespace;
    size.height = text_metrics.height;
    return size;
}
```

gui design – In a validator app, how to keep focus on the content you’re validating?

I’ve got a specialized text validation application where the user can either type, copy/paste the text or load file in – then hit Validate for the screen to transition to the results area. Here’s a demo. If you click on an error, a little window opens up at the bottom which shows you the part of the example where the error is.

In user testing, the fact that focus is being taken away from the content being validated to the results page was shown to be a problem: they’d like the focus to stay on the text and the errors to be just complementary to it, in order to have a fast validate-edit-validate feedback loop.

What’s the best way to redesign the experience here to keep the focus on the text?

My initial thoughts are to split the window halfway so the errors are shown from the bottom, and the text itself never goes anywhere. Is there a better approach?

python – Como resolver o erro QObject::connect: Cannot queue arguments of type ‘QVector’ no PyQT5 usando threading para atualizar interface gui

Boa noite,

Sou iniciante na area do python, e estou com dificuldade na parte de threading juntamente com uma interface gui, criada no QT Desegner.
conversando com uns amigos me indicaram este forum, pois talvez pudessem me ajudar/esclarecer qual o problema.
Acontece que não entendo muito dessa area, comecei a poucos meses, e estou tentando aprender sozinho com base em exemplos / videos da internet. fiz o seguinte codigo de exemplo:

from PyQt5 import  uic,QtWidgets
import time
import threading

def atualiza_dados():
    a = 0
    while 1:
        time.sleep(2)
        tela.label_6.setText(str(a))
        tela.tabela1.setItem(0, 0, QtWidgets.QTableWidgetItem('Valor de A: '))
        tela.tabela1.setItem(0, 1, QtWidgets.QTableWidgetItem(str(a)))
        a += 1

app=QtWidgets.QApplication(())
tela=uic.loadUi("tela_monitor.ui")
tela.tabela1.setRowCount(1)
threading.Thread(target=atualiza_dados,daemon=True).start()
tela.show()
app.exec()

O codigo acima, incrementa a variavel “a” e adciona o valor dentro de uma label, e dentro de uma linha que por sua vez está dentro de uma tabela. porem estou usando uma threading para executar o loop infinito e não congelar a janela principal. mas rodando o programa eu consigo atualizar somente o valor da label, somente atualiza o valor da tabela quando eu clico nela.
outro problema é que aparece as seguintes mensagens no cmd ao executar o programa:

QObject::connect: Cannot queue arguments of type 'QVector<int>'
(Make sure 'QVector<int>' is registered using qRegisterMetaType().)
QObject::connect: Cannot queue arguments of type 'QVector<int>'
(Make sure 'QVector<int>' is registered using qRegisterMetaType().)
QObject::connect: Cannot queue arguments of type 'QVector<int>'
(Make sure 'QVector<int>' is registered using qRegisterMetaType().)
QObject::connect: Cannot queue arguments of type 'QVector<int>'
(Make sure 'QVector<int>' is registered using qRegisterMetaType().)
QObject::connect: Cannot queue arguments of type 'QVector<int>'
(Make sure 'QVector<int>' is registered using qRegisterMetaType().)

Se eu deixar somente a label, ele não da os erros acima, porem quando adciono a tabela da erro.

Inseri duas imagens da tela também para tentar ilustrar melhor o que está acontecendo.

Vocês poderiam me ajudar a resolver este problema? desde já muito obrigado.

Nesta imagem aparece a atualização somente da label

Nesta imagem aparece a atualização da tabela e da label, porem depois que cliquei na janela conforme mencionei acima.