- 经验总结
1. 可用对话框(QDialog)模拟类似Android中toast的效果。
1. 可用对话框(QDialog)模拟类似Android中toast的效果。
- 设置程序界面风格
在main函数中
QApplication::setStyle("windows");
QApplication::setStyle("windowsxp");
QApplication::setStyle("motif");
QApplication::setStyle("cde");
QApplication::setStyle("macintosh");
QApplication::setStyle("plastique");
风格可以是 "windows", "motif", "cde", "plastique", "windowsxp", "macintosh"
- 窗口在屏幕居中显示
#include <QDesktopWidget>
方法一:
w.move((QApplication::desktop()->width() - w.width()) / 2,
(QApplication::desktop()->height() - w.height()) / 2);
方法二:
QDesktopWidget *desktop = QApplication::desktop(); // = qApp->desktop() 也可以
w.move((desktop->width() - this->width()) / 2, (desktop->height() - this->height()) / 2);
在main函数中
QApplication::setStyle("windows");
QApplication::setStyle("windowsxp");
QApplication::setStyle("motif");
QApplication::setStyle("cde");
QApplication::setStyle("macintosh");
QApplication::setStyle("plastique");
风格可以是 "windows", "motif", "cde", "plastique", "windowsxp", "macintosh"
- 设置窗口样式
setWindowFlags(flags)
flags:
Qt::WindowContextHelpButtonHint
Qt::FramelessWindowHint // 去掉标题栏
Qt::CustomizeWindowHint
Qt::WindowTitleHint // 只有标题栏,没有窗口控制按钮
Qt::WindowSystemMenuHint
Qt::WindowCloseButtonHint
Qt::WindowMaximizeButtonHint
Qt::WindowMinimizeButtonHint
Qt::SubWindow
Qt::Desktop
Qt::SplashScreen
Qt::ToolTip
Qt::Tool
// 没有标题栏图标、没有任何按钮,只有标题
Qt::CustomizeWindowHint | Qt::WindowTitleHint
用法一:
clientMainWindow::clientMainWindow(QWidget *parent) :
QMainWindow(parent, Qt::WindowCloseButtonHint)
{
...
}
用法二:
clientMainWindow::clientMainWindow(QWidget *parent) :
QMainWindow(parent )
{
...
this->setWindowFlags(Qt::WindowCloseButtonHint);
...
}
setWindowFlags(flags)
flags:
Qt::WindowContextHelpButtonHint
Qt::FramelessWindowHint // 去掉标题栏
Qt::CustomizeWindowHint
Qt::WindowTitleHint // 只有标题栏,没有窗口控制按钮
Qt::WindowSystemMenuHint
Qt::WindowCloseButtonHint
Qt::WindowMaximizeButtonHint
Qt::WindowMinimizeButtonHint
Qt::SubWindow
Qt::Desktop
Qt::SplashScreen
Qt::ToolTip
Qt::Tool
// 没有标题栏图标、没有任何按钮,只有标题
Qt::CustomizeWindowHint | Qt::WindowTitleHint
用法一:
clientMainWindow::clientMainWindow(QWidget *parent) :
QMainWindow(parent, Qt::WindowCloseButtonHint)
{
...
}
用法二:
clientMainWindow::clientMainWindow(QWidget *parent) :
QMainWindow(parent )
{
...
this->setWindowFlags(Qt::WindowCloseButtonHint);
...
}
- 窗口在屏幕居中显示
#include <QDesktopWidget>
方法一:
w.move((QApplication::desktop()->width() - w.width()) / 2,
(QApplication::desktop()->height() - w.height()) / 2);
方法二:
QDesktopWidget *desktop = QApplication::desktop(); // = qApp->desktop() 也可以
w.move((desktop->width() - this->width()) / 2, (desktop->height() - this->height()) / 2);