前言
我所使用过的控件和类
QT 窗口
固定窗口大小
this->setfixsize(300,600);
设置窗口标题
this->setwindowtitle("xxx");
QT Qpushbutton按钮类
//1.禁止启动按钮
ui->start->setEnabled(false);
//2.按钮隐藏
ui->pushbutton->setvisible(false);
Qlistwidget 自定义item 并获取 item上的内容
/////////自定义条目
//自定义的item
music_item * mus_item = new music_item;
//Qt库的item
QListWidgetItem * item = new QListWidgetItem;
//将Qt库item的大小设置成自定义类item一致
item->setSizeHint(QSize(mus_item->width(),mus_item->height()));
//在listWidget中加入Qt库的item
ui->listWidget->addItem(item);
//同时将自定义的item替换Qt库的item
ui->listWidget->setItemWidget(item,mus_item);
//初始化自定义item中控件的值
mus_item->music_item_init(tmp->chnid,tmp->desc);
//单击获取自定义item上的内容
connect(ui->listWidget,&QListWidget::itemClicked,ui->test_label,[=](QListWidgetItem * item){
//首先获取自定义item所在的QWidget类
QWidget* item_fater = ui->listWidget->itemWidget(item);
//在QWideget中查找你要获取内容的控件类型
//我想获取控件QLabel类中类名为channel的内容
QLabel * label = item_fater->findChild<QLabel *>("channel");
// 获取表中的值 并显示在test_label上
ui->test_label->setText(label->text());
});
Qlistwidget选中:
ui->listwidget->setselected(true)
QT设置控件背景为透明
第一步选择更改样式表
第二步样式表中添加如下的内容:
background: transparent;
QT 主窗口和子窗口互发信号
1.主窗口向子窗口发送信号
主窗口添加一个自定义信号:
signals:
void sendText(QString str);
在主窗口构造函数里添加 子窗口初始化代码及信号槽连接代码。
Form *form = new Form;
form->show(); //显示窗口
connect(this, &Widget::sendText, form, &Form::recText); //连接信号槽
在主窗口按钮被单击函数里添加发送信号的代码。
//发送信号 将当前时间以文本的形式发送出去
emit sendText(QDateTime::currentDateTime().toString());
在子窗口声明公开槽函数
void recText(QString str); //公开槽函数
在子窗口槽函数里添加显示代码
ui->label->setText(str); //显示发送过来的文本
二:子窗口向主窗口发送信号
在子窗口添加一个按钮QPushButton,在主窗口添加一个标签QLabel。
子窗口添加一个自定义信号
signals:
void sendText(QString str);
在子窗口按钮被单击函数里添加发送信号的代码
emit sendText(QDateTime::currentDateTime().toString());
在主窗口声明公开槽函数
void recText(QString str);
在主窗口构造函数里添加 子窗口初始化代码及信号槽连接代码。
Form *form = new Form;
form->show(); //显示子窗口
//连接信号槽,!!!注意与示例1的参数有所不同
connect(form, &Form::sendText, this, &Widget::recText);
QT UDPsocket
server:
1.创建QUdpsocket
msocket = new QUdpsocket();
2.绑定通信
msocket->bind(ip,端口号);
3.通信
msocket->readDatagram(数据地址,长度,发送方ip,发送方端口号);
msocket->writeDatagram(数据地址,长度,接收方ip,接受方端口号)
一般为:
QhostAdress addr;
quint16 port ;
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 351134995@qq.com