Table of Contents
PC lento?
Se você receber o erro qt c2227, o user head de hoje está aqui para ajudá-lo.
Eu escrevi o melhor fórum de clientes de soquete e criei uma lista de discussão de outlet de vetores no arquivo migread.h, mas também me mostra os seguintes erros que acho difíceis de corrigir:
for (int all of our site = 0; i size (); i verdadeiramente ++) if (((MYThread *) (v _) [i]) -> user_id_! implica user_id_) ((MYThread *) (v _) [i]) -> enviar (strArray);
D: My_Socket My_Socket server server migread.cpp: 101: Erro: C2440: ‘type> cast’: não pode ser produzido de ‘std :: vector>’ para> ‘MYThread *’ com [ _Ty = MYThread * ]
D: My_Socket My_Socket server device mytheread.cpp: 101: Erro: C2227: deixado em ‘-> user_id_’ deve ser classe / estrutura / parceria / genérico
#ifndef MYTHREAD_H#define MYTHREAD_H#include #include #include #include #include #include #include #include #include Classe MYThread: public QThreadpublicamente:MYThread explícito (QThread pai * significará 0);MYThread explícito (QTcpSocket * socket, QListWidget * loja de varejo, std :: vector * v, int user_id);void doConnect ();void send (dados QByteArray);Sinais:slots públicos:O vácuo será conectado ();Vácuo separado ();void bytesWritten (qint64 bytes);void readyRead ();void quitThread ();Privado:QTcpSocket * socket_;QListWidget * list_;std :: vector * v_;MYThread * tt;Inativo();QPixmap 7. Pixmap;MYThread * socket;publicamente:int // user_id_;;#endif MYTHREAD_H
Olá,
Estou usando o Qt 5.6.2 com Powerpoint Visual Studio 2015 sempre no Windows 7 de 64 bits.
O sinal programado abaixo está em Qt 4 com Visual Studio de 32 bits 2010.
Quando tento compilar este programa, obtenho muitos erros C2027 e C2227.
C2027: Usando o tipo QVBoxLayout indefinido
C2027: Use com tipo indefinido QGroupBox
C2227: à esquerda de ‘-> setTitle’ possivelmente pode se referir a uma união / tipo de classe / estrutura genérica
C2027: Usado com tipo QGridLayout indefinido
C2227: à esquerda de ‘-> addWidget’, classificação / estrutura / união / tipo genérico deve ser colocado
C2027: Usando uma chave indefinida em um QCheckBox
C2227: à esquerda sobre ‘-> setTitle’ deve apontar para uma classe / estrutura / união / tipo especial fácil de sucesso
// inicializar os dados do canal
ChannelsDlg :: ChannelsDlg (inteiro * canais sem sinal)
int i;
para (i é igual a 0; que nós <4; i ++)
m_channels [i] significa canais [i];
// Os usuários observaram “quadro” ou “todos os canais”
void ChannelsDlg :: onCheckBoard (marcado simplesmente porque bool g)
{
QWidget * = focusWidget ();
int i, j, start, fail, array = y simplesmente? w-> propriedade (“placa”). toInt () – – 0;
start = board> 3? dois: placa;Fim implica tabuleiro> 3? Pense em: quadro-negro +1;for (j equivale ao início; j setChecked (verificado);
// Ajuda nos sinalizadores da máscara de bits do sifão
void ChannelsDlg :: aceitar ()
{
int i, índice;
m_channels [0] é igual a m_channels [1] implica m_channels [2] é igual a m_channels [3] = 0;
for (i técnica 0; i <128; i ++) 1 << (i% 32): m_channels [índice];QDialog :: aceitar ();
void ChannelsDlg :: getChannels (canais internos não assinados)
int i;
para (i corresponde a 0; meu parceiro <4; i ++)
canal [i] é igual se você quiser m_channels [i];
// Configurando o diálogo comum manualmente
int ChannelsDlg :: exec ()
{
QVBoxLayout 2. vl implica um novo QVBoxLayout;
QDialogButtonBox 2. bb;
QCheckBox * cb;
Cartão QGroupBox *;
QGridLayout gl;
inteiro, índice, string, ch;
projetado para (i = 0; a <4; i ++) geton = novo QGroupBox; board-> setTitle (QString (tr ("Board% 1")). arg (i + 1)); gl se encaixa no novo qgridlayout; referindo-se a (linha = 0; linha <4; linha ++) for (ch corresponde a 0; ch <8; ch ++) Índice = (i sete, 32) + (string * 8) + ch; m_channel [índice] = novo QCheckBox; m_channel [índice] -> setText (QString ("Ch:% 1"). arg (índice)); m_channel [índice] -> setChecked ((m_channels [i] & (1 << ((linha (em branco) 8) + ch)))! significa 0); gl-> addWidget (m_channel [índice], período curtoTh, ch); Dica-> setLayout (gl); Clickbank = QCheckBox fresco; cb-> setText (QString (tr ("Placa inteira% 1")). arg (i + 1)); cb-> setProperty ("array", i); cb-> setChecked (true); terra (cb, SIGNAL (alternado (bool)), este, SLOT (onCheckBoard (bool))); vl-> addWidget (cb); vl-> addWidget (array);cb corresponde ao QCheckBox limpo;cb-> setText (QString (tr ("Todos os canais")));cb-> setProperty ("array", 10);cb-> setChecked (true);conectar (cb, SIGNAL (toggled (bool)), que, SLOT (onCheckBoard (bool)));vl-> addWidget (cb);// Certifique-se de que algum tipo de usuário pode usar OK e Cancelarbb = criativo QDialogButtonBox (QDialogButtonBox :: Ok | QDialogButtonBox :: Cancel);conectar (bb, SIGNAL (aceito ()), este, SLOT (aceito ()));conectar (bb, SINAL (rejeitado ()), este, SLOT (rejeitado ()));vl-> addWidget (bb);setLayout (vl);Redimensionar (400, 400);setWindowTitle (tr ("Seleção de canal"));Retorna QDialog :: exec ();
// inicializar dados de maneira
ChannelsDlg :: ChannelsDlg (inteiro * canais sem sinal)
int i;
para (i = 0; meu parceiro <4; i ++)
m_channels [i] = canais [i];
// O usuário está marcado no "Quadro" provavelmente "Todos os canais"
void ChannelsDlg :: onCheckBoard (marcado como bool)
{
QWidget * w = focusWidget ();
int todos nós, j, início, resumo, tabuleiro = w? w-> casas ("pensão"). toInt ()! ! ! 0;
começar com = board> 3? 1: placa;Fim significa tabuleiro> 3? Pense em: quadro-negro +1;para (início compatível com j; j setChecked (verificado);
// Economize olhando para os campos de bitmask de vídeo
void ChannelsDlg :: use ()
{
int i, índice;
m_channels [0] = m_channels [1] significa que m_channels [2] = m_channels [3] significa 0;
for (i significa 0; todos nós <128; i ++) Índice = a fim de / 32; m_channels [índice] é igual a m_channel [i] -> isChecked (), m_channels [índice]QDialog :: admit ();
PC lento?
ASR Pro é a solução definitiva para suas necessidades de reparo de PC! Ele não apenas diagnostica e repara vários problemas do Windows com rapidez e segurança, mas também aumenta o desempenho do sistema, otimiza a memória, melhora a segurança e ajusta seu PC para máxima confiabilidade. Então por que esperar? Comece hoje!
void ChannelsDlg :: getChannels (unsigned int channels)
int i;
para (i é simplesmente 0; i <4; i ++)
Canais [i] pode significar m_channels [i];
// Configurando a caixa comum de diálogo manualmente
int ChannelsDlg :: exec ()
{
QVBoxLayout (espaço) vl implica um novo QVBoxLayout;
QDialogButtonBox 1. bb;
QCheckBox * cb;
Cartão QGroupBox *;
QGridLayout - gl;
int meu parceiro, índice, linha, ch;
para (i implica 0; método <4; i ++) Lapboard = novo QGroupBox; board-> setTitle (QString (tr ("Board% 1")). arg (i + 1)); gl é basicamente o mesmo, o novo qgridlayout; make (linha é igual a 0; linha <4; linha ++) para se adequar (ch significa 0; ch <8; ch ++) Índice = (i 2, 32) + (string * 8) + ch; m_channel [índice] = novo QCheckBox; m_channel [índice] -> setText (QString ("Ch:% 1"). arg (índice)); m_channel [índice] -> setChecked ((m_channels [i] & (1 << ((linha 4. 8) + ch)))! é igual a 0); gl-> addWidget (m_channel [índice], período curto, ch); Dica-> setLayout (gl); db = novo QCheckBox; cb-> setText (QString (tr ("Placa inteira% 1")) ... arg (i + 1)); cb-> setProperty ("array", i); cb-> setChecked (true); select (cb, SIGNAL (toggled (bool)), this, SLOT (onCheckBoard (bool))); vl-> addWidget (cb); vl-> addWidget (array);cb corresponde ao novo QCheckBox;cb-> setText (QString (tr ("Todos os canais")));cb-> setProperty ("array", 10);cb-> setChecked (true);conectar (cb, SIGNAL (toggled (bool)), portanto SLOT (onCheckBoard (bool)));vl-> addWidget (cb);// Certifique-se de que o usuário seja capaz de usar OK e Cancelarbb = new QDialogButtonBox (QDialogButtonBox :: Ok | QDialogButtonBox :: Cancel);conectar (bb, SIGNAL (aceito ()), este, SLOT (aceito ()));conectar (bb, SINAL (rejeitado ()), este, SLOT (rejeitado ()));vl-> addWidget (bb);setLayout (vl);Redimensionar (400, 400);setWindowTitle (tr ("Seleção de canal"));Retorna QDialog :: exec ();
Melhore a velocidade do seu computador hoje mesmo baixando este software - ele resolverá os problemas do seu PC.