如何用 Qt 做出酷炫的界面
首先你需要一个美工,帮你设计好看的UI样式,或者自己设计也可以,
然后参照设计好的UI样式,完成代码的编写,在设置代码样式前你需要知道这些控件的设置方法,比如一个QPushButton的背景色:红色,前景设置白色,边框黑色
QPushButton#evilButton {background-color: red
border-style: outset
border-width: 2px
border-color: black
color: white
}
其他控件配置请参考Qt提供的帮助文档:
http://doc.qt.io/qt-4.8/stylesheet-examples.html
首先你需要一个美工,帮你设计好看的UI样式,或者自己设计也可以,
然后参照设计好的UI样式,完成代码的编写,在设置代码样式前你需要知道这些控件的设置方法,比如一个QPushButton的背景色:红色,前景设置白色,边框黑色
QPushButton#evilButton {
background-color: red
border-style: outset
border-width: 2px
border-color: black
color: white
安装Qt, VS和 Qt5 Visual Studio Add-in.
配置好环境变量, 如qmake_path和QTDIR.
打开VS查看是否有"QT"工具栏.
点击 文件 ->新建 ->项目, 在左边模板中选择Qt Project, 然后在右边选择Qt Application
输入名称和解决方案名称, 位置不能有中文路径, 确定
在左边选择 "解决方案资源管理器", 打开FormFile, 双击对应UI文件进行编辑
解救方法是这个类:QSingalMapper,看名字能想到什么?没错,这个类将同一个信号封装后,改造成不同的信号,然后再发射。
asssiant里面有个例子:
ButtonWidget::ButtonWidget(QStringList texts, QWidget *parent)
: QWidget(parent)
{
signalMapper = new QSignalMapper(this)
QGridLayout *gridLayout = new QGridLayout
for (int i = 0i <texts.size()++i) {
QPushButton *button = new QPushButton(texts[i])
connect(button, SIGNAL(clicked()), signalMapper, SLOT(map()))
signalMapper->setMapping(button, texts[i])
gridLayout->addWidget(button, i / 3, i % 3)
}
connect(signalMapper, SIGNAL(mapped(const QString &)),
this, SIGNAL(clicked(const QString &)))
setLayout(gridLayout)
}
看见这个函数了么?每个button都发送clicked信号,但是使用这个类以后就把相同的信号给封装成不同信号发射了。注意那个connect函数里面的mapped信号的QString参数,不同的button的clicked信号是相同的,但是text是不同的,这样相同的信号就能区分出不同的需求了。
画龙点睛到此,不必细细去说,相信你该知道怎么办了。不知道还可以问我。