我有一个MainWindow.在MainWindow我有多个Qlabel.现在,我需要找到QLabel点击.使用MousePressEvent,我可以点击鼠标的X()和Y()位置.
我怎样才能使用这个坐标来识别QLabel?
在QT中是否有任何函数可以找到使用X()和Y()坐标单击的对象?
我知道这是一个非常基本的问题,但有时你会失去你的基本概念:)尝试Goggling但也没有足够的支持.
我正在使用我们的设备所有者预定义的库.他们的声明如下:
unsigned char FamilySerialNum[0][8]
Run Code Online (Sandbox Code Playgroud)
此变量以十六进制格式获取设备的序列号.现在我在Qt中使用这个库在QLineEdit中显示序列号.为此,我需要将其转换为QString.
尝试使用QString :: UTF8,strcpy(),sprintf()等但获取垃圾数据.
所以任何人都可以建议我一些方法来完成它.
我有一个带有所有标准按钮和非标准按钮的QDialogButtonBox(添加QPush按钮以创建非标准按钮).
我可以单独为非标准按钮实现SignalMapper.但在这种情况下,我必须添加2个插槽(QDialogButtonBox标准按钮插槽和非标准按钮插槽).
我需要实现QSignalMapper,标准按钮和非标准按钮的公共插槽.
任何人都可以指导我吗?
我正在设计一个使用Qt创建者访问远程桌面的应用程序.为了从远程桌面获取"退出"信号(在完成我的目的之后),我使用的是Tcpserver和Tcpsocket.我的Pc充当服务器,而远程PC充当客户端.我使用以下概念:
Server pc 1.按PushButton访问远程屏幕(使用tightvnc以全屏模式).2.启动服务器并侦听任何活动连接(我正在使用端口9876).3.找到活动连接.连接到客户端.4.关闭远程访问.5.切换回本地屏幕.6.服务器关闭
客户端PC 1.按退出按钮关闭远程访问.2.按下退出按钮时3.连接到主机.4.将"退出"发送到服务器5.断开与主机的连接6.关闭连接.
几次尝试都可以正常工作(比方说10次)
但在它开始给出错误"连接拒绝错误"之后.而且我无法从远程访问中恢复,直到重新启动我的远程PC.
我尝试过使用Reset但结果是一样的.
任何人都有任何想法???
这是我的客户端代码
#include "ctrlboardclient.h"
#include <QHostAddress>
#include <QObject>
#include <QtGui/QApplication>
#include <QDebug>
bool CtrlBoardClient::status_flag = false; /* Flag to check the transfer status of Data */
CtrlBoardClient::CtrlBoardClient()
{
connect(&client, SIGNAL(connected()), this, SLOT(startTransfer()));
connect(&client, SIGNAL(readyRead()), this, SLOT(recieve_msg()));
connect(&client, SIGNAL(disconnected()), this, SLOT(disconnectstatus()));
connect(&client, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(getErrorCode(QAbstractSocket::SocketError)));
}
bool CtrlBoardClient::start(QString address, quint16 port)
{
QHostAddress addr(address);
bool rval = client.reset();
qDebug() << "Reset before Connect to Host = " << rval;
client.connectToHost(address, port);
if …Run Code Online (Sandbox Code Playgroud) 我正在为我的屏幕创建一个错误消息框。我使用 QDialogButtonBox 作为按钮。现在我想用不同的颜色填充按钮。例如:“确定”--> 绿色“取消”--> 红色等。我可以更改所有按钮的背景,但不能单独更改。
有没有办法做到这一点?
提前致谢 !!!!