我是想定义一个2维的字符数组并且初始化,然后在通过Qlabel来显示,要怎么弄呢

我是想定义一个2维的字符数组并且初始化,然后在通过Qlabel来显示,要怎么弄呢,第1张

定义二维数组初始化可用类似以下的方法

char ttt[3][3]={{1,2,3},{4,5,6},{0,0,0}};

或者先定义二维数组,再用循环赋值方式初始化

Qlabel如果使用一个,则可定义QString 把二维数组转化到字符串,如:

//假设已经定义好了QLabel lb,并且已经初始化完成

QString str=“”,str1;

for(int i = 0; i < 3; i++)

{ for(int j = 0;j < 3; j++)

{ str+=str1sprintf("%d ",ttt[i][j]);

}str+="\n";//可以在这里加换行 *** 作,如果QLable设置了多行的属性的话

}lbsetText(str);

定义多个QLable的话,参照上面,每赋值一个字符串就可以用setText来显示到对应QLable

Labelrect();

Labelx(); Labely(); Labelheight(); Labelwidth() Labelsize();Labelgeometry();

等等这些函数都可以获得相应的坐标注意区别可以自己试试

// 如果你指消息对话框,可以如下方法

QMessageBox msgBox;

msgBoxsetText("The document has been modified");

msgBoxexec();

// 如果你指QDialog,那么你只能在QDialog上面绘制你的界面,然后进行文字显示

QDialog dlg = new QDialog();

QLabel label = new QLabel(dlg);

label->setText("You show text"):

dlg->exec();

会调用scrollarea窗口显示,窗口大小能根据大小自动调整,但是最大为1024768,过大就要有滚动条来显示

mainwindow中点击“显示”调用scrollarea窗口,下面的函数是被一个按钮的槽函数调用的

void MainWindow::Show_Image_byname(char filename)

{

if(!filename || !strlen(filename))

{

return;

}

char buf[128]= {0};

strcpy(buf,SAVE_IMAGE);

strcat(buf,filename);

ScrollArea new_image = new ScrollArea();

new_image->set_image(buf);

new_image->setBackgroundRole(QPalette::Dark);

new_image->show();

return;

}

添加文件scrollareaui文件,画出一个scrollarea

在生成的scrollareah中添加私有成员QLabel

private:

Ui::ScrollArea ui;

QLabel label;

在析构函数中添加内存释放

ScrollArea::~ScrollArea()

{

delete ui;

if(label)

{

delete label;

}

}

在生成的scrollareacpp中添加显示实现函数

void ScrollArea::set_image(char filename)

{

QImage ppm = new QImage(filename);

label = new QLabel();

printf("ppm->width()=%d, ppm->height()=%d\n",ppm->width(), ppm->height()); //获取的宽度和高度

label->setPixmap(QPixmap::fromImage(ppm));

this->setWidget(label);

/设置窗口最大高度和宽度为1024768/

this->setMaximumHeight(768);

this->setMaximumWidth(1024);

this->resize(QSize( ppm->width()+5, ppm->height() +5));

return;

}

使用富文本,对各字符进行设置,比如:

"<p style='font-size:12pt'>应用列表</p>"

分别对文本样式进行设置,把包含样式的字符串设置到label里就行了。

以上就是关于我是想定义一个2维的字符数组并且初始化,然后在通过Qlabel来显示,要怎么弄呢全部的内容,包括:我是想定义一个2维的字符数组并且初始化,然后在通过Qlabel来显示,要怎么弄呢、QT怎么获得label实时坐标、如何修改Qt标准对话框的文字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9615881.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存