QT 随笔




1. 设置窗体属性,无边框 | 置顶
setWindowFlags(Qt::FramelessWindowHint);
setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);

2. 槽-信号机制中用到自己定义数据类型:

class MyTest
{
};
class MyThread: public QThread
{
 Q_OBJECT
signals:
 void thesignal(bool noerror, const MyTest& MyTest);
 
public:
 virtual void run(); 
};

除Q_OBJECT。须要加:
qRegisterMetaType<MyTest>("MyTest");

3. 槽函数中通过“QObject::sender()”获取谁发送的信号
QCheckBox* Chb = dynamic_cast<QCheckBox*>(QObject::sender());

4. Radio button 状态以图片方式显示
QString style = "QRadioButton { spacing: 5px; } QRadioButton::indicator{ width: 24px;height: 24px;}QRadioButton::indicator:unchecked{    image:url(:/radiobutton_off);}QRadioButton::indicator:checked{  image:url(:/radiobutton_on);} ";
ui.onceRadioBtn->setStyleSheet(style);
对checkbox控件也适用

5. 改变字体,能够直接使用windows下字体
Application theApp(argc, argv); 
theApp.setFont(QFont("simsun", 11));

6. 获取mac,ip
/* Get all interface (IP / Mask / MAC) */
QNetworkInterface InterfaceEth0 = QNetworkInterface::interfaceFromName("eth0");
QString mac = InterfaceEth0.hardwareAddress();
foreach(QNetworkAddressEntry addressE , InterfaceEth0.addressEntries()) {
 if(addressE.ip().protocol() == QAbstractSocket::IPv4Protocol &&
  addressE.broadcast() != QHostAddress::Null) {
   QString IP = addressE.ip().toString();
   QString Mask = addressE.netmask().toString();
   break;
 }
}

/* 获取全部网络接口 */
QList<QNetworkInterface> InterfaceEthList = QNetworkInterface::allInterfaces();


posted @ 2017-06-13 09:48  wzzkaifa  阅读(144)  评论(0编辑  收藏  举报