1.用Qt designer设计的example.ui文件可以直接添加到工程里,然后在需要调用该UI的文件里添加头文件ui_example.h,ui_example.h为编译时自动生成的文件(.pro文件里需添加
QT += gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
例如:
)。
2.example.rc文件设置任务栏里的缩略图标,example.rc 文件和.pro文件在同级目录,头文件需添加
RC_FILE += \
example.rc
例如:
3.example.qrc文件是资源文件,可设置其属性为 / ,方便以后调用
例如:
图1 图2
图3
//设置登录标题
QLabel *pTitle = new QLabel(this);
QLabel *pLogo = new QLabel(this);
pLogo->setStyleSheet("border-image: url(:/images/talklogo.ico);");
addTitleWidget(pTitle,pLogo);
m_pUiUserLogin->labelLoginTitle->setStyleSheet("color:white;");
//添加登录Logo
m_pUiUserLogin->labelLoginPic->setStyleSheet("border-image: url(:/images/talklogin.png);");
4.设置中文字体显示
.cpp 文件
//设置中文字体显示
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
//注册中文字体,此方法可将系统对话框的按钮显示文字翻译为中文
QTranslator trans;
trans.load(":/translations/qt_zh_CN");
app.installTranslator(&trans);
.qrc 文件须添加资源文件qt_zh_CN.qm,qt_zh_CN.qm文件是从Qt安装目录Qt5.2.1\5.2.1\mingw48_32\translations\qt_zh_CN.qm拷贝到当前工程目录\translations下的。
/
translations/qt_zh_CN.qm
5.设置QSS
.cpp文件
//设置QSS
QFile fileQss(":/qss/TalkQss.qss");
if(fileQss.open(QIODevice::ReadOnly))
{
QString strQss(fileQss.readAll());
app.setStyleSheet(strQss);
fileQss.close();
}
.qrc文件须添加资源文件TalkQss.qss,TalkQss.qss文件是自己手动建立的
/
qss/TalkQss.qssTalkQss.qss文件内容如下:
QDialog{ border:2px solid #C4C4C3;border-radius:10px;padding:10px 10px;}
QPushButton{ border:3px outset rgb(17,127,240);border-radius:10px;padding:2px 4px;border-style:outset;}
QPushButton:!hover {color:white; background-color: rgb(17,127,240);}
QPushButton:hover:!pressed {color:white; background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(51, 129, 188, 255), stop:1 rgba(255, 255, 255, 255));}
QPushButton:pressed { color:white;background-color:rgba(51, 129, 188);border:2px solid #C4C4C3;border-style:inset;}
QPushButton { font:16px \"宋体\";}
QTabWidget::pane { border: 2px solid #C4C4C3; border-bottom-left-radius: 10px;border-bottom-right-radius: 10px;border-top-right-radius: 10px;padding:2px 4px;}
QTabBar::tab { border: 2px solid #C4C4C3; border-top-left-radius: 4px;border-top-right-radius: 4px;}
QTabBar::tab { height:25px; width:90px; color:black; padding:0px;background-color:rgba(51, 129, 188);}
QTabBar::tab:selected { color:white;background-color:rgb(17,127,240);}
QTabBar::tab:!selected { margin-left: 2px; }
QTabBar::tab:hover { color:white;background-color:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(51, 129, 188, 255), stop:1 rgba(255, 255, 255, 255));;}
QTabBar::tab { font:16px \"宋体\";}
QComboBox{ border: 2px solid #C4C4C3;border-radius: 4px;padding: 1px 18px 1px 3px;}
QComboBox { font:14px \"宋体\";}
QCheckBox{ background:transparent;}
QCheckBox::indicator:checked{ ;}
QCheckBox::indicator:unchecked:hover { background-color:rgb(62, 124, 186);}
QCheckBox::indicator:checked:hover { background-color:white;}
QLineEdit{ border:2px solid #C4C4C3;border-radius:4px;padding:2px 4px;}
QLineEdit{ color:bule; selection-color: white; }
QLineEdit{ font:14px \"宋体\";}
QTableWidget { border:2px solid #C4C4C3;border-radius: 4px;padding:2px 4px;}
QTableWidget { background-color: rgb(222,226,229);selection-color: black;}
QTableWidget { selection-background-color: qlineargradient(x1: 0, y1: 0, x2: 0.5, y2: 0.5,stop: 0 #55AAFF, stop: 1 white);}
QTableWidget { font:14px \"宋体\";}
QTableCornerButton::section { }
QHeaderView {border:2px solid #C4C4C3;border-radius:2px;}
QHeaderView::section { min-height:30px; min-width:100px;}
QHeaderView {font:16px \"宋体\";}
QScrollBar:horizontal
{
height:20px;
background:lightgray;
border-radius:2px;
padding-left:20px;
padding-right:20px;
}
QScrollBar:vertical
{
width:20px;
background:lightgray;
padding-top:20px;
padding-bottom:20px;
}
QScrollBar::handle:horizontal,QScrollBar::handle:vertical
{
background: rgb(17,127,240);
border: 2px outset rgb(17,127,240);
border-radius:4px;
}
QScrollBar::handle:horizontal:hover,QScrollBar::handle:vertical:hover
{
background:gray;
}
QScrollBar::add-page:horizontal,QScrollBar::add-page:vertical
{
background:transparent;
border-radius:4px;
}
QScrollBar::sub-page:horizontal,QScrollBar::sub-page:vertical
{
background:rgba(0,0,0,20%);
border-radius:4px;
}
QGroupBox { border:1px solid #C4C4C3;border-radius:8px;padding:2px 4px;}
QDateTimeEdit{ border:2px solid #C4C4C3;border-radius:4px;padding:2px 4px;}
QDateTimeEdit{selection-color:white;}
QDateTimeEdit {font:14px \"宋体\";}
QLCDNumber {border:0px; background:transparent;color:white;}
QMessageBox { border:2px solid #C4C4C3;border-radius:10px;padding:10px 10px;}
QMessageBox {font:14px \"宋体\";}
6.qml隐藏标题栏和任务栏
得益于http://blog.chinaunix.net/uid-532511-id-4595865.html
虽然这只是个属性问题,在网上找了不少资料,但都满足不了需求,有的只能隐藏任务栏,有的只能隐藏标题和最小化、最大化、关闭(标题栏还在),最后看在cpp里有一个viwer.setFlags(Qt::FramelessWindowHint);于是就在qml里写的flags:Qt.FramelessWindowHint。然后奇迹就发生了,标题栏和任务栏都消失了,这个真是蒙的。。。
4276

被折叠的 条评论
为什么被折叠?



