Pergunta

Pardon me, eu sou um novato:)

É possível em Qt para criar uma janela personalizada sem fronteiras, mas ainda Draggable sem mantendo pressionada a tecla Alt? Eu criei uma janela sem bordas, mas, a fim de ser capaz de arrastá-lo (no Linux) você tem que mantenha pressionada a tecla Alt.

Eu estava planejando criar uma janela com cantos arredondados. Qualquer um tem alguma idéia de como fazer isso possível? Embora, eu acho que a implementação do mouseMove, mousePress ou algo é uma solução possível, mas eu preciso de alguma outra solução.

Graças

Foi útil?

Solução

Há apenas uma maneira de fazer o gerenciador de janelas mover a janela: Adicionar uma barra de arrasto. Se não houver nenhuma barra de arrastar, em seguida, seu aplicativo deve mover a janela em si, definindo a nova posição (ou seja, você deve lidar com o mouse clique em + eventos de movimentação você mesmo).

O recurso para mover a janela pressionando Alt também é uma função do seu gerenciador de janelas, não Qt.

Outras dicas

Sim, há uma janela de exemplo em algum lugar arredondado usando um relógio que faz isso. Basicamente, você precisa para gerenciar os cliques do mouse se como diz Aaron.

Você pode usar QDecoration (para Linux embutido) para torná-lo: aqui é o exemplo .

Detectar que o mouse é pressionado em sua janela, em seguida, pegue os eventos para o mouse se movendo em torno de modo que você pode mover a sua janela em sincronia com ele. Quando o usuário libera botão do mouse sua tarefa é longo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top