Qt如何设置窗口屏幕居中显示以及设置大小

Qt如何设置窗口屏幕居中显示以及设置大小,第1张

首先我们在界面中添加一个QLabel控件

QT界面怎么使控件随窗口大小变化一直居中显示

在控件上边下边分别添加一个竖直的d簧,选中这三个控件,然后点击竖直布局,如下图所示。布局结果如右图。

QT界面怎么使控件随窗口大小变化一直居中显示

QT界面怎么使控件随窗口大小变化一直居中显示

3

然后在上次布局的两侧添加水平的d簧,选中两个d簧和上次的布局,点击水平布局。布局效果如图

QT界面怎么使控件随窗口大小变化一直居中显示

如果想一次性把所有的窗口都捕获出来的话,建议你用录制软件(比如Camtasia Studio)录下来,录制的时候,先框选录制窗口大小,帧率不必太高,5帧即可,然后逐个打开QT窗口,包括子菜单等,每个 *** 作界面1-2秒钟静态即可。录制完毕后,再在你的录制素材中导出你要存的单帧(bmp格式)即可,至于后期去掉不要的画面,可以使用PS处理出来(小技巧,录制QT界面之前,建议打开WORD啊之类的软件,空白页,然后再打开QT界面在WORD等界面之上,然后再录制,这样方便后期PS处理)。

功能:窗口最小化后或者点击“hide”按钮将窗口隐藏到托盘

通常最小化的窗口会在任务栏上显示一个按钮。当用户按一下这个按钮,窗口就还原了。这是一个被大多数桌面环境,比如Windows,KDE,GNOME所采用的普遍设计。不过,因为任务栏通常只是桌面边上一小行,容纳不了很多按钮,用户通常希望把那些不常用的程序隐藏起来,只在通知栏显示一个小图标,要使用的时候再点击那个小图标恢复窗口。这种作法最典型的例子是QQ和Winamp。

最基本的思路是拦截窗口的最小化事件changeEvent(),通过重写changeEvent()即可。

“hide”按钮的方式,是通过信号--槽来实现。

--------------------------------------------------------------------

void TrayMenu::createActions()

{

//创建托盘项

action_show = new QAction(this);

action_quit = new QAction(this);

action_login_home = new QAction(this);

action_help = new QAction(this);

action_about = new QAction(this);

action_check_update = new QAction(this);

action_setting = new QAction(this);

//设置托盘项图标

action_show->setIcon(QIcon(":/icon/open"));

action_login_home->setIcon(QIcon(":/icon/home"));

action_help->setIcon(QIcon(":/icon/help"));

action_about->setIcon(QIcon(":/icon/about"));

action_check_update->setIcon(QIcon(":/icon/update"));

action_setting->setIcon(QIcon(":/icon/set"));

action_quit->setIcon(QIcon(":/icon/quit"));

//加载和提示

QIcon icon(":/images/sysTraypng");

systemTray = new QSystemTrayIcon(this);

systemTray->setIcon(icon);

systemTray->setToolTip("Hello, this is system tray!");

注意:这里特别提醒,如果你的应用程序要移植到别的机器上,而且这个机器没有装Qt,QIcon的格式最好用png,而不要用ico等格式,否则托盘图标不能显示,会很麻烦。

//设置托盘想文本

action_show->setText(QString("显示"));

action_quit->setText(QString("退出"));

action_login_home->setText(QString("登录网页"));

action_help->setText(QString("帮助"));

action_about->setText(QString("关于"));

action_check_update->setText(QString("检查更新"));

action_setting->setText(QString("设置"));

//添加菜单项

this->addAction(action_show);

this->addAction(action_setting);

this->addAction(action_login_home);

this->addSeparator();

this->addAction(action_help);

this->addAction(action_about);

this->addAction(action_check_update);

this->addSeparator();

this->addAction(action_quit);

action_setting->setVisible(false);

//设置信号连接(这里仅列举连接显示窗口的信号)

QObject::connect(action_show, SIGNAL(triggered(bool)), this, SIGNAL(showWidget()));

}

LoginDialog::LoginDialog(QWidget parent) : QDialog(parent)

{

QSystemTrayIcon system_tray = new QSystemTrayIcon();

//放在托盘提示信息、托盘图标

system_tray ->setToolTip(QString("我就是托盘"));

system_tray ->setIcon(QIcon(":/icon/login"));

TrayMenu tray_menu = new TrayMenu();

system_tray->setContextMenu(tray_menu);

//点击托盘执行的事件

connect(system_tray , SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(iconIsActived(QSystemTrayIcon::ActivationReason)));

connect(tray_menu, SIGNAL(showWidget()), this, SLOT(showNormal()));

//显示托盘

system_tray->show();

//托盘显示提示信息

system_tray->showMessage(QString("托盘标题"), QString("托盘显示内容"));

}

void LoginDialog::iconIsActived(QSystemTrayIcon::ActivationReason reason)

{

switch(reason)

{

//点击托盘显示窗口

case QSystemTrayIcon::Trigger:

{

showNormal();

break;

}

//双击托盘显示窗口

case QSystemTrayIcon::DoubleClick:

{

showNormal();

break;

}

default:

break;

}

}

OK,这样我们的托盘功能就Over了!

=============================================================================

另://关闭到托盘

void Widget::closeEvent(QCloseEvent e)

{

e->ignore();

this->hide();

}

QPoint QWidget::Pos() const

This property holds the position of the widget within its parent widget

----------------------------------无比华丽的分割线------------------------------------------

QWidget QWidget::parentWidget () const

Returns the parent of this widget, or 0 if it does not have any parent widget

——Qt Assistant

像个链表,然后QPoint自己已经重载了加法运算符~

然后你会了么?

题主是想问“qt设置主窗口标题怎么设置吗”方法如下:

1、直接设置窗口标题:可以通过调用QMainWindow的setWindowTitle()函数来设置窗口标题,该函数接受一个QString类型的参数,表示设置的窗口标题。可以在该参数中设置想要的长度的字符串。

2、使用字符串格式化:可以使用QString的字符串格式化功能,将一个较长的字符串格式化成所需长度的字符串。

通过

ui->printAgeingTableView->setIndexWidget(standardItemModel->index(i, 5), interval);

添加控件后,获取内容。

获取内容方式:将控件还原,然后再去拿取,不能当做QStandardItem进行 *** 作,否则无法拿到内容。

((QLabel )ui->printAgeingTableView->indexWidget(model->index(var,1)))->text();

这里原本控件是QLabel,还原后再拿取。

以上就是关于Qt如何设置窗口屏幕居中显示以及设置大小全部的内容,包括:Qt如何设置窗口屏幕居中显示以及设置大小、怎样把QT中整个窗口(类型任意)的位图capture出来,包括子类(按钮等)、QT如何获取最小化事件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存